diff --git a/crates/ezidam/src/oauth.rs b/crates/ezidam/src/oauth.rs index a635b61..61a204a 100644 --- a/crates/ezidam/src/oauth.rs +++ b/crates/ezidam/src/oauth.rs @@ -11,7 +11,7 @@ pub enum ResponseMode { #[derive(Debug, FromForm, UriDisplayQuery)] pub struct AuthenticationRequest<'r> { pub response_type: &'r str, - pub response_mode: ResponseMode, + pub response_mode: Option, pub scope: &'r str, pub client_id: &'r str, pub redirect_uri: &'r str, diff --git a/crates/ezidam/src/routes/oauth/authorize.rs b/crates/ezidam/src/routes/oauth/authorize.rs index 5c91dcd..7f1646b 100644 --- a/crates/ezidam/src/routes/oauth/authorize.rs +++ b/crates/ezidam/src/routes/oauth/authorize.rs @@ -54,7 +54,7 @@ pub async fn authorize_ezidam(mut db: Connection) -> Result let request = AuthenticationRequest { response_type: openid::CoreResponseType::Code.as_ref(), - response_mode: ResponseMode::Query, + response_mode: Some(ResponseMode::Query), scope: &openid::SupportedScopes::url_format(), client_id: app.id().as_ref(), redirect_uri: app.redirect_uri(), @@ -165,7 +165,7 @@ pub async fn authorize_form( // Construct uri to redirect to let uri = { - let uri_mode = match auth_request.response_mode { + let uri_mode = match auth_request.response_mode.unwrap_or(ResponseMode::Query) { ResponseMode::Query => "?", ResponseMode::Fragment => "#", };