2025-06-27 18:44:28 +02:00
|
|
|
use zeroize::Zeroize;
|
|
|
|
|
|
2025-08-27 23:12:56 +02:00
|
|
|
pub const TOKEN_NO_AUTH: &str = "authorized";
|
|
|
|
|
|
|
|
|
|
pub const ROLE_ADMIN: &str = "ADMIN";
|
|
|
|
|
pub const ROLE_USER: &str = "USER";
|
|
|
|
|
|
|
|
|
|
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
|
|
|
|
pub struct Claims {
|
|
|
|
|
pub username: String,
|
|
|
|
|
pub iss: String,
|
|
|
|
|
pub iat: i64,
|
|
|
|
|
pub exp: i64,
|
|
|
|
|
pub roles: Vec<String>,
|
|
|
|
|
}
|
|
|
|
|
|
2025-06-27 18:44:28 +02:00
|
|
|
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
|
|
|
|
pub struct UserCredential {
|
|
|
|
|
pub username: String,
|
|
|
|
|
pub password: String,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
impl UserCredential {
|
|
|
|
|
pub fn zeroize(&mut self) {
|
|
|
|
|
self.password.zeroize();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize, Eq, PartialEq, Default)]
|
|
|
|
|
pub struct TokenResponse {
|
|
|
|
|
pub token: String,
|
2025-06-30 21:03:35 +02:00
|
|
|
pub username: String,
|
2025-06-27 18:44:28 +02:00
|
|
|
}
|