我已经让 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 引用,但似乎没有一个可以复制ClaimTypes
in Thinktecture.IdentityServer.Core.Constants
。我发现的最好的是System.Security.Claims.ClaimTypes
,但这似乎有几个缺失,例如FamilyName
.
我看的第一个位置是Thinktecture.IdentityModel
但很惊讶这些不在那里。
那么魔术参考是什么?Thinktecture.IdentityServer3
或者只为这些字符串加载是否合适?
谢谢
编辑:所以我发现Thinktecture.IdentityModel.Client
其中包含一个JwtClaimTypes
似乎镜像的ClaimTypes
. 为什么用 Jwt 前缀命名呢?