diff --git a/src/api/client/session/sso.rs b/src/api/client/session/sso.rs index b80288ab..6cd30430 100644 --- a/src/api/client/session/sso.rs +++ b/src/api/client/session/sso.rs @@ -601,6 +601,11 @@ async fn decide_user_id( .as_deref() .map(str::to_lowercase) .filter(|_| allowed("preferred_username")), + userinfo + .username + .as_deref() + .map(str::to_lowercase) + .filter(|_| allowed("username")), userinfo .nickname .as_deref() diff --git a/src/service/oauth/user_info.rs b/src/service/oauth/user_info.rs index 18eda0db..1ea6e0f8 100644 --- a/src/service/oauth/user_info.rs +++ b/src/service/oauth/user_info.rs @@ -16,6 +16,9 @@ pub struct UserInfo { /// The login username we first consider when defined. pub preferred_username: Option, + /// The login username considered. + pub username: Option, + /// The login username considered if none preferred. pub nickname: Option,