mirror of
https://github.com/lennart-k/rustical.git
synced 2025-12-13 14:42:30 +00:00
@@ -138,7 +138,8 @@ pub async fn route_post_oidc(
|
|||||||
#[derive(Debug, Clone, Deserialize)]
|
#[derive(Debug, Clone, Deserialize)]
|
||||||
pub struct AuthCallbackQuery {
|
pub struct AuthCallbackQuery {
|
||||||
code: AuthorizationCode,
|
code: AuthorizationCode,
|
||||||
iss: IssuerUrl,
|
// RFC 9207
|
||||||
|
iss: Option<IssuerUrl>,
|
||||||
state: String,
|
state: String,
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -153,7 +154,9 @@ pub async fn route_get_oidc_callback<US: UserStore + Clone>(
|
|||||||
) -> Result<Response, OidcError> {
|
) -> Result<Response, OidcError> {
|
||||||
let callback_uri = format!("https://{host}/frontend/login/oidc/callback");
|
let callback_uri = format!("https://{host}/frontend/login/oidc/callback");
|
||||||
|
|
||||||
assert_eq!(iss, oidc_config.issuer);
|
if let Some(iss) = iss {
|
||||||
|
assert_eq!(iss, oidc_config.issuer);
|
||||||
|
}
|
||||||
let oidc_state = session
|
let oidc_state = session
|
||||||
.remove::<OidcState>(SESSION_KEY_OIDC_STATE)
|
.remove::<OidcState>(SESSION_KEY_OIDC_STATE)
|
||||||
.await?
|
.await?
|
||||||
|
|||||||
Reference in New Issue
Block a user