diff --git a/crates/handlers/src/compat/login_sso_redirect.rs b/crates/handlers/src/compat/login_sso_redirect.rs index 1ad47c55e..f8b4435a1 100644 --- a/crates/handlers/src/compat/login_sso_redirect.rs +++ b/crates/handlers/src/compat/login_sso_redirect.rs @@ -13,18 +13,21 @@ use mas_router::{CompatLoginSsoAction, CompatLoginSsoComplete, UrlBuilder}; use mas_storage::{BoxRepository, compat::CompatSsoLoginRepository}; use rand::distributions::{Alphanumeric, DistString}; use serde::Deserialize; -use serde_with::serde; +use serde_with::{DefaultOnError, serde, serde_as}; use thiserror::Error; use url::Url; use crate::impl_from_error_for_route; +#[serde_as] #[derive(Debug, Deserialize)] pub struct Params { #[serde(rename = "redirectUrl")] redirect_url: Option, + #[serde_as(deserialize_as = "DefaultOnError")] action: Option, + #[serde_as(deserialize_as = "DefaultOnError")] #[serde(rename = "org.matrix.msc3824.action")] unstable_action: Option, }