From 332f62d76e2287c0359202fc2bd184ec0cd17f77 Mon Sep 17 00:00:00 2001 From: Sambhav Saggi <17993169+9p4@users.noreply.github.com> Date: Tue, 23 Aug 2022 18:18:42 -0400 Subject: [PATCH] feat: allow configuration of preferred username claim (#47) --- SSO-Auth/Api/SSOController.cs | 4 ++-- SSO-Auth/Config/PluginConfiguration.cs | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/SSO-Auth/Api/SSOController.cs b/SSO-Auth/Api/SSOController.cs index 85004c2..9896140 100644 --- a/SSO-Auth/Api/SSOController.cs +++ b/SSO-Auth/Api/SSOController.cs @@ -104,7 +104,7 @@ public class SSOController : ControllerBase foreach (var claim in result.User.Claims) { - if (claim.Type == "preferred_username") + if (claim.Type == (config.DefaultUsernameClaim ?? "preferred_username")) { StateManager[state].Username = claim.Value; if (config.Roles.Length == 0) @@ -186,7 +186,7 @@ public class SSOController : ControllerBase } } - // If the provider doesn't support preferred_username, then use sub + // If the provider doesn't support the preferred username claim, then use the sub claim if (!StateManager[state].Valid) { foreach (var claim in result.User.Claims) diff --git a/SSO-Auth/Config/PluginConfiguration.cs b/SSO-Auth/Config/PluginConfiguration.cs index bf9a43b..f254806 100644 --- a/SSO-Auth/Config/PluginConfiguration.cs +++ b/SSO-Auth/Config/PluginConfiguration.cs @@ -217,6 +217,11 @@ public class OidConfig } set => _canonicalLinks = value; } + + /// + /// Gets or sets the default username claim when creating new accounts. + /// + public string DefaultUsernameClaim { get; set; } } ///