From a6780697bd4e8258fb6318ca1db3c6dbd73a85c7 Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Fri, 6 Feb 2026 04:23:06 +0000 Subject: [PATCH] Add username claim from OAuth provider. (closes #287) Signed-off-by: Jason Volk --- src/api/client/session/sso.rs | 5 +++++ src/service/oauth/user_info.rs | 3 +++ 2 files changed, 8 insertions(+) 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,