Skip to content

Commit 2dcbc47

Browse files
author
robertob
committed
updating variable name to reflect what it actually is and match parameter name in GenericIdentity() call and request headers string access syntax
1 parent 56e4fff commit 2dcbc47

1 file changed

Lines changed: 9 additions & 9 deletions

File tree

src/KK.AspNetCore.EasyAuthAuthentication/EasyAuthAuthenticationHandler.cs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -90,13 +90,13 @@ protected override async Task<AuthenticateResult> HandleAuthenticateAsync()
9090

9191
private AuthenticationTicket BuildIdentityFromEasyAuthHeaders(Microsoft.AspNetCore.Http.IHeaderDictionary requestHeaders)
9292
{
93-
var id = requestHeaders["X-MS-CLIENT-PRINCIPAL-NAME"].ToString();
94-
var idToken = requestHeaders["X-MS-TOKEN-AAD-ID-TOKEN"].ToString();
95-
var providerName = requestHeaders["X-MS-CLIENT-PRINCIPAL-IDP"].ToString();
93+
var name = requestHeaders["X-MS-CLIENT-PRINCIPAL-NAME"][0];
94+
var idToken = requestHeaders["X-MS-TOKEN-AAD-ID-TOKEN"][0];
95+
var providerName = requestHeaders["X-MS-CLIENT-PRINCIPAL-IDP"][0];
9696

97-
this.Logger.LogDebug("payload was fetched from easyauth headers, id: {0}", id);
97+
this.Logger.LogDebug("payload was fetched from easyauth headers, name: {0}", name);
9898

99-
var identity = new GenericIdentity(id, "AuthenticationTypes.Federation"); // setting ClaimsIdentity.AuthenticationType to value that azuread non-easyauth setups use
99+
var identity = new GenericIdentity(name, "AuthenticationTypes.Federation"); // setting ClaimsIdentity.AuthenticationType to value that azuread non-easyauth setups use
100100

101101
this.Logger.LogInformation("building claims from payload...");
102102

@@ -132,7 +132,7 @@ private AuthenticationTicket BuildIdentityFromEasyAuthHeaders(Microsoft.AspNetCo
132132
this.Logger.LogInformation("Add claims to new identity");
133133

134134
identity.AddClaims(claims);
135-
var xMsClientPrincipal = JObject.Parse(Encoding.UTF8.GetString(Convert.FromBase64String(requestHeaders["X-MS-CLIENT-PRINCIPAL"].ToString())));
135+
var xMsClientPrincipal = JObject.Parse(Encoding.UTF8.GetString(Convert.FromBase64String(requestHeaders["X-MS-CLIENT-PRINCIPAL"][0])));
136136
var nameidentifier = xMsClientPrincipal["claims"].Children<JObject>().FirstOrDefault(c => c["typ"].ToString() == ClaimTypes.NameIdentifier)?["val"].ToString();
137137
//foreach (var claim in xMsClientPrincipal["claims"]) { if (claim["typ"].ToString() == ClaimTypes.NameIdentifier) { nameidentifier = claim["val"].ToString(); } } // line above works not required
138138
identity.AddClaim(new Claim(ClaimTypes.NameIdentifier, nameidentifier));
@@ -146,13 +146,13 @@ private AuthenticationTicket BuildIdentityFromEasyAuthHeaders(Microsoft.AspNetCo
146146

147147
private AuthenticationTicket BuildIdentityFromEasyAuthMeJson(JObject payload)
148148
{
149-
var id = payload["user_id"].Value<string>(); // X-MS-CLIENT-PRINCIPAL-NAME
149+
var name = payload["user_id"].Value<string>(); // X-MS-CLIENT-PRINCIPAL-NAME
150150
var idToken = payload["id_token"].Value<string>(); // X-MS-TOKEN-AAD-ID-TOKEN
151151
var providerName = payload["provider_name"].Value<string>(); // X-MS-CLIENT-PRINCIPAL-IDP
152152

153-
this.Logger.LogDebug("payload was fetched from easyauth me json, id: {0}", id);
153+
this.Logger.LogDebug("payload was fetched from easyauth me json, name: {0}", name);
154154

155-
var identity = new GenericIdentity(id, "AuthenticationTypes.Federation"); // setting ClaimsIdentity.AuthenticationType to value that azuread non-easyauth setups use
155+
var identity = new GenericIdentity(name, "AuthenticationTypes.Federation"); // setting ClaimsIdentity.AuthenticationType to value that azuread non-easyauth setups use
156156

157157
this.Logger.LogInformation("building claims from payload...");
158158

0 commit comments

Comments
 (0)