2

Thinktecture IdentityServer を使用して認証する ASP.Net アプリケーションがあるシナリオがあります。これはすべて正常に機能し、ADFS と関係があり、すべてうまく機能しています。ただし、ShareFile-NET SDK を呼び出して、以下のサンプル コードを使用して認証する必要があります。

    //SAML Authentication: This authentication support assumes you have a mechanism for obtaining a SAML assertion, samlAssertion from the user's IdP.

var sfClient = new ShareFileClient("https://secure.sf-api.com/sf/v3/");
var oauthService = new OAuthService(sfClient, "[clientid]", "[clientSecret]");

var oauthToken = await oauthService.ExchangeSamlAssertionAsync(samlAssertion,
  subdomain, applicationControlPlane);

sfClient.AddOAuthCredentials(oauthToken);
sfClient.BaseUri = oauthToken.GetUri();

だから私はIdPを持っていますが、その「samlAssertion」パラメーターを作成するために提供されたトークンを正確に使用する方法を調査する運がありませんでした..

4

1 に答える 1

1

私はこれに対する答えを見つけました。

SAML アサーションは ClaimsIdentity にあります。

var icp = System.Security.Claims.ClaimsPrincipal.Current;

        var claimsIdentity = icp.Identity as System.Security.Claims.ClaimsIdentity;

        var token = claimsIdentity.BootstrapContext as System.IdentityModel.Tokens.BootstrapContext;

これを設定するには、web.config に以下を追加する必要があります。

<identityConfiguration saveBootstrapContext="true">
于 2015-03-26T22:44:00.520 に答える