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; }
}
///