我已经让 IdentityServer3 作为独立的身份服务器运行。
我有一个单独的 MVC 客户端,它使用 Cookie 和 OpenIdConnect 进行身份验证。我正在尝试设置声明转换等,并希望引用不同的声明类型,如下所示:
var givenName = id.FindFirst(Constants.ClaimTypes.GivenName);
var familyName = id.FindFirst(Constants.ClaimTypes.FamilyName);
var sub = id.FindFirst(Constants.ClaimTypes.Subject);
var roles = id.FindAll(Constants.ClaimTypes.Role);
在 IdentityServer3Thinktecture.IdentityServer.Core.Constants上,我使用 MVC 客户端引用这些,但我认为我不需要Thinktecture.IdentityServer3仅为这些字符串常量引用?在这种情况下是否有推荐使用的客户端库?我已经尝试过Thinktecture.IdentityModel一些 .NET 引用,但似乎没有一个可以复制ClaimTypesin Thinktecture.IdentityServer.Core.Constants。我发现的最好的是System.Security.Claims.ClaimTypes,但这似乎有几个缺失,例如FamilyName.
我看的第一个位置是Thinktecture.IdentityModel但很惊讶这些不在那里。
那么魔术参考是什么?Thinktecture.IdentityServer3或者只为这些字符串加载是否合适?
谢谢
编辑:所以我发现Thinktecture.IdentityModel.Client其中包含一个JwtClaimTypes似乎镜像的ClaimTypes. 为什么用 Jwt 前缀命名呢?