- Added OIDC authentication support with new modules for handling OIDC login and callback. - Introduced `AuthController`, `AuthOidcService`, and related DTOs for managing authentication state and user responses. - Implemented session management using `actix-session` with Redis for storing authentication state. - Created configuration management for OIDC settings, including provider metadata and client credentials. - Updated server configuration to initialize OIDC services and session management. - Refactored existing code to integrate new authentication features and ensure proper dependency management.
19 lines
380 B
Rust
19 lines
380 B
Rust
use openidconnect::reqwest;
|
|
|
|
use crate::configuration::oidc::OidcConfiguration;
|
|
|
|
pub mod oidc;
|
|
|
|
#[derive(Clone)]
|
|
pub struct Configuration {
|
|
pub oidc_configuration: OidcConfiguration,
|
|
}
|
|
|
|
impl Configuration {
|
|
pub async fn new(http_client: reqwest::Client) -> Self {
|
|
Self {
|
|
oidc_configuration: OidcConfiguration::new(http_client).await,
|
|
}
|
|
}
|
|
}
|