Add initial OIDC support #33

This commit is contained in:
Lennart
2025-04-13 15:31:58 +02:00
parent f132f9ccc8
commit cf3d9bb16b
10 changed files with 672 additions and 14 deletions

View File

@@ -1,9 +1,20 @@
use openidconnect::{ClientId, ClientSecret, IssuerUrl, Scope};
use serde::{Deserialize, Serialize};
fn default_enabled() -> bool {
true
}
#[derive(Deserialize, Serialize, Debug, Clone)]
pub struct OidcConfig {
pub name: String,
pub issuer: IssuerUrl,
pub client_id: ClientId,
pub client_secret: Option<ClientSecret>,
pub scopes: Vec<Scope>,
pub allow_sign_up: bool,
}
#[derive(Deserialize, Serialize, Debug, Clone)]
#[serde(deny_unknown_fields)]
pub struct FrontendConfig {
@@ -12,4 +23,6 @@ pub struct FrontendConfig {
pub secret_key: [u8; 64],
#[serde(default = "default_enabled")]
pub enabled: bool,
#[serde(default)]
pub oidc: Option<OidcConfig>,
}