【发布时间】:2017-12-15 18:26:40
【问题描述】:
我一直在使用身份服务器快速启动应用程序,我想在调用userinfo端点时添加要返回的角色信息。
public Claim[] GetUserClaims(UserServiceProxy.Dto.User user)
{
return new Claim[]
{
new Claim(JwtClaimTypes.Name, user.Username),
new Claim(JwtClaimTypes.Email, user.Email),
new Claim(JwtClaimTypes.GivenName, user.Firstname),
new Claim(JwtClaimTypes.FamilyName, user.Lastname),
new Claim(JwtClaimTypes.Subject, user.Username),
new Claim(JwtClaimTypes.Role, user.Role ?? "normal"), //have added this
};
}
这是从我的 GetProfileDataAsync 调用的
if (context.RequestedClaimTypes.Any())
{
var user = UserClient.FindByUserName(context.Subject.GetSubjectId());
if (user != null)
{
context.AddRequestedClaims(UserClient.GetUserClaims(user.Result.User));
}
}
当我调用 /connect/userinfo 端点时,我得到了这个(无角色):
{"name":"joe3","given_name":"Joe","family_name":"Three","sub":"joe3"}
【问题讨论】: