我目前正在尝试使用 Thinktecture IdentityServer 作为我的 STS(令牌发行者)。当我从 IdentityServer 取回一个加密令牌时,如何解密该令牌以便我可以从中推断出声明信息?
感谢您的帮助。
我目前正在尝试使用 Thinktecture IdentityServer 作为我的 STS(令牌发行者)。当我从 IdentityServer 取回一个加密令牌时,如何解密该令牌以便我可以从中推断出声明信息?
感谢您的帮助。
如果配置正确,WIF 应该为您处理解密,然后您应该能够从当前声明主体访问声明。
依赖方 WIF 配置部分,用于定义应使用哪个证书进行解密:
<federationConfiguration>
<serviceCertificate>
<certificateReference findValue="the-encryption-certificate-thumbprint" storeLocation="LocalMachine" storeName="My" x509FindType="FindByThumbprint" />
</serviceCertificate>
</federationConfiguration>
从上下文访问声明的代码:
HttpContext.Current.User.Identity.Name
或者
Claim myClaim = (HttpContext.Current.User as ClaimsPrincipal).FindFirst("http://identityserver.thinktecture.com/claims/profileclaims/myclaim");