11

そこにある WIF 情報のほとんどは、アプリケーション全体でフェデレーション認証を有効にするのに役立つようです。API を使用して SAML 認証要求を作成し、SAML 応答を受信/解釈することに興味があります。

SO Reading SAML Attributes from SAML Tokenに関する次の投稿を見つけたので、SAML 応答の受信と解釈に関して正しい方向に進むことができます。API を使用して SAML リクエストを作成する方法について、詳しい情報を教えてもらえますか?

一般的な API に関するその他の情報 (読み物、ビデオなど) をいただければ幸いです。

4

2 に答える 2

9

STS への (SAML) セキュリティ トークンの要求をプログラムで作成する方法を示すサンプルの 1 つからの小さな例を次に示します。

private static SecurityToken GetSamlToken(string realm, string stsEndpoint, ClientCredentials clientCredentials)
    {
        using (var factory = new WSTrustChannelFactory(
            new UserNameWSTrustBinding(SecurityMode.TransportWithMessageCredential), 
            new EndpointAddress(new Uri(stsEndpoint))))
        {
            factory.Credentials.UserName.UserName = clientCredentials.UserName.UserName;
            factory.Credentials.UserName.Password = clientCredentials.UserName.Password;
            factory.Credentials.ServiceCertificate.Authentication.CertificateValidationMode = X509CertificateValidationMode.None;
            factory.TrustVersion = TrustVersion.WSTrust13;

            WSTrustChannel channel = null;

            try
            {
                var rst = new RequestSecurityToken
                              {
                                  RequestType = WSTrust13Constants.RequestTypes.Issue, 
                                  AppliesTo = new EndpointAddress(realm), 
                                  KeyType = KeyTypes.Bearer, 
                              };

                channel = (WSTrustChannel)factory.CreateChannel();

                return channel.Issue(rst);
            }
            finally
            {
                if (channel != null)
                {
                    channel.Abort();
                }

                factory.Abort();
            }
        }
于 2011-03-15T21:50:56.347 に答える
5

他に誰も答えていないので、比類のない Michelle Bustamante の記事を以下に示します。

http://www.devproconnections.com/article/federated-security/Generate-SAML-Tokens-Using-Windows-Identity-Foundation.aspx

于 2011-02-02T20:29:09.333 に答える