mirror of
https://github.com/lennart-k/rustical.git
synced 2025-12-17 20:49:29 +00:00
Move oidc to dedicated crate
This commit is contained in:
27
crates/oidc/src/config.rs
Normal file
27
crates/oidc/src/config.rs
Normal file
@@ -0,0 +1,27 @@
|
||||
use openidconnect::{ClientId, ClientSecret, IssuerUrl, Scope};
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Deserialize, Serialize, Clone, Default)]
|
||||
#[serde(rename_all = "snake_case")]
|
||||
pub enum UserIdClaim {
|
||||
// The correct option
|
||||
Sub,
|
||||
// The more ergonomic option if you know what you're doing
|
||||
#[default]
|
||||
PreferredUsername,
|
||||
}
|
||||
|
||||
#[derive(Deserialize, Serialize, Clone)]
|
||||
#[serde(deny_unknown_fields)]
|
||||
pub struct OidcConfig {
|
||||
pub name: String,
|
||||
pub issuer: IssuerUrl,
|
||||
pub client_id: ClientId,
|
||||
pub client_secret: Option<ClientSecret>,
|
||||
pub scopes: Vec<Scope>,
|
||||
#[serde(default)]
|
||||
pub allow_sign_up: bool,
|
||||
pub require_group: Option<String>,
|
||||
#[serde(default)]
|
||||
pub claim_userid: UserIdClaim,
|
||||
}
|
||||
Reference in New Issue
Block a user