mirror of
https://github.com/lennart-k/rustical.git
synced 2025-12-14 07:02:24 +00:00
user: Add name to app token
This commit is contained in:
@@ -55,7 +55,7 @@ id = "user"
|
|||||||
displayname = "User"
|
displayname = "User"
|
||||||
password = "$argon2id$......."
|
password = "$argon2id$......."
|
||||||
app_tokens = [
|
app_tokens = [
|
||||||
"$pbkdf2-sha256$........"
|
{name = "Token", token = "$pbkdf2-sha256$........"},
|
||||||
]
|
]
|
||||||
memberships = ["group:amazing_group"]
|
memberships = ["group:amazing_group"]
|
||||||
|
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ impl AuthenticationProvider for TomlPrincipalStore {
|
|||||||
// Try app tokens first since they are cheaper to calculate
|
// Try app tokens first since they are cheaper to calculate
|
||||||
// They can afford less iterations since they can be generated with high entropy
|
// They can afford less iterations since they can be generated with high entropy
|
||||||
for app_token in &user.app_tokens {
|
for app_token in &user.app_tokens {
|
||||||
if password_auth::verify_password(token, app_token).is_ok() {
|
if password_auth::verify_password(token, &app_token.token).is_ok() {
|
||||||
return Ok(Some(user));
|
return Ok(Some(user));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,6 +34,12 @@ impl ValueSerialize for PrincipalType {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Debug, Clone, Deserialize, Serialize)]
|
||||||
|
pub struct AppToken {
|
||||||
|
pub name: String,
|
||||||
|
pub token: String,
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone, Deserialize, Serialize)]
|
#[derive(Debug, Clone, Deserialize, Serialize)]
|
||||||
#[serde(deny_unknown_fields)]
|
#[serde(deny_unknown_fields)]
|
||||||
// TODO: Rename this to Principal
|
// TODO: Rename this to Principal
|
||||||
@@ -44,7 +50,7 @@ pub struct User {
|
|||||||
pub principal_type: PrincipalType,
|
pub principal_type: PrincipalType,
|
||||||
pub password: Option<String>,
|
pub password: Option<String>,
|
||||||
#[serde(default)]
|
#[serde(default)]
|
||||||
pub app_tokens: Vec<String>,
|
pub app_tokens: Vec<AppToken>,
|
||||||
#[serde(default)]
|
#[serde(default)]
|
||||||
pub memberships: Vec<String>,
|
pub memberships: Vec<String>,
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user