1

我有一个使用 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?

谢谢 :-)

4

1 回答 1

0

要重用已发布的令牌,您必须配置您的服务以保存引导令牌。这个接缝在 .net 4.5中被称为保存引导上下文。这将使您可以访问您在IClaimsIdentity.BootstrapToken财产中的令牌。有关更多详细信息,请参见此处

将您的原始令牌放在服务端允许您与另一个服务进行通信,就像您在客户端上一样。例如,您可以使用这里CreateChannelWithIssuedToken描述的。

于 2012-11-04T10:20:30.497 回答