diff --git a/docs/en/Authorization.md b/docs/en/Authorization.md index f9a0be5292..d41879cd9b 100644 --- a/docs/en/Authorization.md +++ b/docs/en/Authorization.md @@ -397,24 +397,24 @@ This is already done for the startup template integration tests. Abp abstracts the way that authentication creates `ClaimsPrincipal`. You can provide a custom `IAbpClaimsPrincipalContributor` to add additional claims. -Example of add `EditionId` of current tenant to user claims: +Example of add `SocialSecurityNumber` of current tenant to user claims: ```csharp -public class EditionClaimsPrincipalContributor : IAbpClaimsPrincipalContributor, ITransientDependency +public class SocialSecurityNumberClaimsPrincipalContributor : IAbpClaimsPrincipalContributor, ITransientDependency { public async Task ContributeAsync(AbpClaimsPrincipalContributorContext context) { var identity = context.ClaimsPrincipal.Identities.FirstOrDefault(); if (identity != null) { - var currentTenant = context.ServiceProvider.GetRequiredService(); - if (currentTenant.Id != null) + var currentUser = context.ServiceProvider.GetRequiredService(); + if (currentUser.Id.HasValue) { - var tenantRepository = context.ServiceProvider.GetRequiredService(); - var tenant = await tenantRepository.FindAsync(currentTenant.Id.Value); - if (tenant?.EditionId != null) + var userManager = context.ServiceProvider.GetRequiredService(); + var user = await userManager.GetByIdAsync(currentUser.Id.Value); + if (user?.SocialSecurityNumber != null) { - identity.AddOrReplace(new Claim(AbpClaimTypes.EditionId, tenant.EditionId.ToString())); + identity.AddOrReplace(new Claim("SocialSecurityNumber", user.SocialSecurityNumber)); } } } @@ -422,7 +422,7 @@ public class EditionClaimsPrincipalContributor : IAbpClaimsPrincipalContributor, } ``` -The `EditionClaimsPrincipalContributor` will participate in it when the `CreateAsync` method of `IAbpClaimsPrincipalFactory` is called. +The `SocialSecurityNumberClaimsPrincipalContributor` will participate in it when the `CreateAsync` method of `IAbpClaimsPrincipalFactory` is called. > The [Identity module](https://docs.abp.io/en/abp/latest/Modules/Identity) has integrated it.