1

ID フェデレーション (google、facebook、live id) と WCF SOAP サービスを使用して Thintecture Identity Server を構成しました。

ここで、Windows Phone アプリケーション用の WCF Rest Endpoint (webHttpBinding) が必要です。認証ヘッダーで WSTrust SAML トークンを渡したくありません。SamlToken を JWT トークンに変換することは可能ですか?

以下は私が試したコードですが、うまくいきません。

var factory = new WSTrustChannelFactory(
    new WindowsWSTrustBinding(SecurityMode.Transport),
    new EndpointAddress("https://identityserver.local/issue/???"))
{
    TrustVersion = TrustVersion.WSTrust13
};

var rst = new RequestSecurityToken
{
    RequestType =  RequestTypes.Issue,
    KeyType = KeyTypes.Bearer,
    TokenType = TokenTypes.JsonWebToken,
    AppliesTo = new EndpointReference("http://my.realm/")
};

var securityToken = xmlToken.ToSecurityToken();
var response = factory.CreateChannelWithIssuedToken(securityToken).Issue(rst);

手伝ってくれてありがとう。

4

1 に答える 1

0

JWT を返すように IdentityServer を構成できます。グローバル構成に移動し、デフォルトのトークン タイプを JWT (デフォルトの http トークン タイプと同じ値) に変更します。それはそれを行う必要があります。

更新: WSTrust を使用する理由 - IdSrv は、WS-Trust を介した Google などの認証をサポートしていません。

于 2013-07-01T16:05:22.657 に答える