Windows Identity Foundation(WIF) - 不从服务返回的主体/身份

时间:2012-11-02 18:16:55

标签: c# wif servicestack

我有一个使用WIF的ServiceStack服务 - 内部一切都很好 - ClaimsPrincipal& ClaimsIdentity对象被创建,添加/读取它们的声明完全没有问题。

然而,当我尝试从客户端(尝试过ServiceStack客户端和c#WebRequest)获取此对象时,它只返回对象的一部分 - 无论我是否在客户端上安装了WIF并尝试进行转换。如果我直接调用并获得json结果,则返回所有内容:

{"Principal":{"__type":"Microsoft.IdentityModel.Claims.ClaimsPrincipal, Microsoft.IdentityModel","Identity":{"__type":"Microsoft.IdentityModel.Claims.ClaimsIdentity, Microsoft.IdentityModel","Name":"BoogeyFace","AuthenticationType":"","IsAuthenticated":true}}}

如何在服务范围内获得完整的WIF ClaimsPrincipal?

谢谢: - )

1 个答案:

答案 0 :(得分:0)

要重复使用已颁发的令牌,您必须配置服务以保存引导令牌。 此接缝在.net 4.5中称为save bootstrap context。 这样您就可以访问IClaimsIdentity.BootstrapToken属性中的令牌。有关详细信息,请参阅here

将原始令牌放在服务端允许您与其他服务进行通信,就像您在客户端一样。 例如,您可以使用CreateChannelWithIssuedToken所述的{{1}}。