Browse Source

Revisit GetAdditionalClaimsOrNull method of AbpResourceOwnerPasswordValidator

pull/1675/head
Halil İbrahim Kalkan 7 years ago
parent
commit
55509a0d8c
  1. 18
      modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/AspNetIdentity/AbpResourceOwnerPasswordValidator.cs

18
modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/AspNetIdentity/AbpResourceOwnerPasswordValidator.cs

@ -53,7 +53,15 @@ namespace Volo.Abp.IdentityServer.AspNetIdentity
_logger.LogInformation("Credentials validated for username: {username}", context.UserName);
await _events.RaiseAsync(new UserLoginSuccessEvent(context.UserName, sub, context.UserName, interactive: false));
context.Result = new GrantValidationResult(sub, OidcConstants.AuthenticationMethods.Password, GetAdditionalClaimsOrNull(user));
var additionalClaims = new List<Claim>();
await AddCustomClaimsAsync(additionalClaims, user, context);
context.Result = new GrantValidationResult(
sub,
OidcConstants.AuthenticationMethods.Password,
additionalClaims.ToArray()
);
return;
}
@ -82,14 +90,14 @@ namespace Volo.Abp.IdentityServer.AspNetIdentity
context.Result = new GrantValidationResult(TokenRequestErrors.InvalidGrant);
}
protected virtual IEnumerable<Claim> GetAdditionalClaimsOrNull(IdentityUser user)
protected virtual Task AddCustomClaimsAsync(List<Claim> customClaims, IdentityUser user, ResourceOwnerPasswordValidationContext context)
{
if (!user.TenantId.HasValue)
if (user.TenantId.HasValue)
{
return null;
customClaims.Add(new Claim(AbpClaimTypes.TenantId, user.TenantId?.ToString()));
}
return new[] { new Claim(AbpClaimTypes.TenantId, user.TenantId?.ToString()) };
return Task.CompletedTask;
}
}
}

Loading…
Cancel
Save