public Task ContributeAsync(AbpClaimsPrincipalContributorContext context) { var identity = context.ClaimsPrincipal.Identities.FirstOrDefault(); if (identity != null) { var options = context.ServiceProvider.GetRequiredService <IOptions <IdentityOptions> >().Value; var usernameClaim = identity.FindFirst(options.ClaimsIdentity.UserNameClaimType); if (usernameClaim != null) { identity.AddIfNotContains(new Claim(OpenIddictConstants.Claims.PreferredUsername, usernameClaim.Value)); identity.AddIfNotContains(new Claim(JwtRegisteredClaimNames.UniqueName, usernameClaim.Value)); } var httpContext = context.ServiceProvider.GetRequiredService <IHttpContextAccessor>().HttpContext; if (httpContext != null) { var clientId = httpContext.GetOpenIddictServerRequest()?.ClientId; if (clientId != null) { identity.AddClaim(OpenIddictConstants.Claims.ClientId, clientId, OpenIddictConstants.Destinations.AccessToken); } } } return(Task.CompletedTask); }
public Task ContributeAsync(AbpClaimsPrincipalContributorContext context) { var claimsIdentity = context.ClaimsPrincipal.Identities.First(x => x.AuthenticationType == IdentityAuthenticationType); claimsIdentity.AddOrReplace(new Claim(ClaimTypes.Uri, "www.abp.io")); claimsIdentity.AddOrReplace(new Claim(ClaimTypes.Email, "*****@*****.**")); context.ClaimsPrincipal.AddIdentityIfNotContains(claimsIdentity); return(Task.CompletedTask); }
public Task ContributeAsync(AbpClaimsPrincipalContributorContext context) { var claimsIdentity = context.ClaimsPrincipal.Identities.FirstOrDefault(x => x.AuthenticationType == TestAuthenticationType) ?? new ClaimsIdentity(TestAuthenticationType); claimsIdentity.AddOrReplace(new Claim(ClaimTypes.Version, "2.0")); context.ClaimsPrincipal.AddIdentityIfNotContains(claimsIdentity); return(Task.CompletedTask); }
public async Task ContributeAsync(AbpClaimsPrincipalContributorContext context) { var userManager = context.ServiceProvider.GetRequiredService <IdentityUserManager>(); var user = await userManager.GetUserAsync(context.ClaimsPrincipal); if (user != null) { var preferredName = user.Surname + user.Name; var identity = context.ClaimsPrincipal.Identities.FirstOrDefault(); identity.AddOrReplace(new Claim(JwtClaimTypes.PreferredUserName, preferredName)); } }
public virtual async Task <ClaimsPrincipal> CreateAsync(ClaimsPrincipal existsClaimsPrincipal = null) { using (var scope = ServiceScopeFactory.CreateScope()) { var claimsPrincipal = existsClaimsPrincipal ?? new ClaimsPrincipal(new ClaimsIdentity( AuthenticationType, AbpClaimTypes.UserName, AbpClaimTypes.Role)); var context = new AbpClaimsPrincipalContributorContext(claimsPrincipal, scope.ServiceProvider); foreach (var contributorType in Options.Contributors) { var contributor = (IAbpClaimsPrincipalContributor)scope.ServiceProvider.GetRequiredService(contributorType); await contributor.ContributeAsync(context); } return(claimsPrincipal); } }