From 3ce6154dfaeb137fbdb19ffa308146c8b06a4e99 Mon Sep 17 00:00:00 2001
From: Philippe Loctaux
Date: Mon, 3 Apr 2023 17:57:49 +0200
Subject: [PATCH] ezidam: oauth: auth request: optional response mode, default
is query
---
crates/ezidam/src/oauth.rs | 2 +-
crates/ezidam/src/routes/oauth/authorize.rs | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
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 => "#",
};