Browse Source

Update OpenIddictClaimsPrincipalContributor.cs

pull/12651/head
maliming 4 years ago
committed by GitHub
parent
commit
9a6f8bdaa1
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 8
      modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/OpenIddictClaimsPrincipalContributor.cs

8
modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/OpenIddictClaimsPrincipalContributor.cs

@ -1,4 +1,4 @@
using System.Linq; using System.Linq;
using System.Security.Claims; using System.Security.Claims;
using System.Security.Principal; using System.Security.Principal;
using System.Threading.Tasks; using System.Threading.Tasks;
@ -6,15 +6,12 @@ using Microsoft.AspNetCore.Identity;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Options; using Microsoft.Extensions.Options;
using Microsoft.IdentityModel.JsonWebTokens; using Microsoft.IdentityModel.JsonWebTokens;
using OpenIddict.Abstractions;
using Volo.Abp.DependencyInjection; using Volo.Abp.DependencyInjection;
using Volo.Abp.Security.Claims; using Volo.Abp.Security.Claims;
namespace Volo.Abp.OpenIddict; namespace Volo.Abp.OpenIddict;
/// <summary>
/// https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/issues/1627
/// https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/blob/05e02b5e0383be40e45c667c12f6667d38e33fcc/src/System.IdentityModel.Tokens.Jwt/ClaimTypeMapping.cs#L52
/// </summary>
public class OpenIddictClaimsPrincipalContributor : IAbpClaimsPrincipalContributor, ITransientDependency public class OpenIddictClaimsPrincipalContributor : IAbpClaimsPrincipalContributor, ITransientDependency
{ {
public Task ContributeAsync(AbpClaimsPrincipalContributorContext context) public Task ContributeAsync(AbpClaimsPrincipalContributorContext context)
@ -26,6 +23,7 @@ public class OpenIddictClaimsPrincipalContributor : IAbpClaimsPrincipalContribut
var usernameClaim = identity.FindFirst(options.ClaimsIdentity.UserNameClaimType); var usernameClaim = identity.FindFirst(options.ClaimsIdentity.UserNameClaimType);
if (usernameClaim != null) if (usernameClaim != null)
{ {
identity.AddIfNotContains(new Claim(OpenIddictConstants.Claims.PreferredUsername, usernameClaim.Value));
identity.AddIfNotContains(new Claim(JwtRegisteredClaimNames.UniqueName, usernameClaim.Value)); identity.AddIfNotContains(new Claim(JwtRegisteredClaimNames.UniqueName, usernameClaim.Value));
} }
} }

Loading…
Cancel
Save