При реализации внешнего входа (Google Auth) в Identity Server, после того, как Identity Server получит токен id от внешнего провайдера, он будет декодировать токен и получать утверждения пользователя, входить в систему, затем создавать собственные токены сервера идентификации и, наконец, возвращаться к ваше клиентское приложение.
Если вы хотите добавить пользовательские климы к токену, выданному Identity Server, вы c можете реализовать IProfileService :
public class MyProfileService : IProfileService
{
public MyProfileService()
{ }
public Task GetProfileDataAsync(ProfileDataRequestContext context)
{
var claims = new List<Claim>()
{
new Claim("TestKey", "TestValue")
};
context.IssuedClaims.AddRange(claims);
return Task.CompletedTask;
}
public Task IsActiveAsync(IsActiveContext context)
{
// await base.IsActiveAsync(context);
return Task.CompletedTask;
}
}
Зарегистрироваться в DI:
services.AddTransient<IProfileService, MyProfileService>();