【发布时间】:2013-09-07 07:14:51
【问题描述】:
我目前正在尝试使用 Thinktecture IdentityServer 作为我的 STS(令牌颁发者)。当我从 IdentityServer 取回一个加密令牌时,如何解密该令牌以便我可以从中推断出声明信息?
感谢您的帮助。
【问题讨论】:
-
您是如何配置 STS 来加密令牌的?登录成功了吗?
我目前正在尝试使用 Thinktecture IdentityServer 作为我的 STS(令牌颁发者)。当我从 IdentityServer 取回一个加密令牌时,如何解密该令牌以便我可以从中推断出声明信息?
感谢您的帮助。
【问题讨论】:
如果配置正确,WIF 应该会为您处理解密,然后您应该能够从当前声明主体访问声明。
Relying Party 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");
【讨论】: