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 に答える