サンプル SAML 2.0 IdP アサーション

このセクションでは、SAML 2.0 の要求と応答の例を示します。

Marketing Platform によって生成される SAML 2.0 要求の例

Marketing Platform は、このセクションに示す SAML 2.0 要求を生成し、OpenSAML Base64 API を使用してエンコードします。この要求は、標準的な他の Base64 デコーダーと互換性があります。エンコードされた要求は、IdP サーバーに送られます。

<saml2p:AuthnRequest 
       xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" 
       AssertionConsumerServiceURL="http://example.com" 
       Destination="http://example.com" 
       ForceAuthn="false" 
       ID="_0ff13d123291170422ff5e945e9a209e25f3404916451a4aaf" 
       IsPassive="false" 
       IssueInstant="2015-09-02T14:10:24.376Z" 
       ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" 
       Version="2.0">
              <saml2:Issuer xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">
                     IdP_ID
              </saml2:Issuer>
              <saml2p:NameIDPolicy 
                     AllowCreate="true" 
                     Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient" 
                     SPNameQualifier="SERVICE_PROVIDER_ID"/>
              <saml2p:RequestedAuthnContext 
                     Comparison="exact">
                     <saml2:AuthnContextClassRef 
                            xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">
                            urn:oasis:names:tc:SAML:2.0:ac:classes:
                            PasswordProtectedTransport
                     </saml2:AuthnContextClassRef>
              </saml2p:RequestedAuthnContext>
</saml2p:AuthnRequest>

IdP サーバーによって生成される SAML 2.0 応答の例

<samlp:Response
       xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
       Destination="http://serviceprovider.com/location" 
              ID="id-wmpfMj-fMh0ihGYJ73rXPTEq7o8-"
       InResponseTo="s2e211c5bfc0200fc48819f381f17d56ca0b5c780f" 
       IssueInstant="2015-09-02T14:10:24.376Z"
       Version="2.0">
       <saml:Issuer xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" 
              Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">
              Identity Provider
       </saml:Issuer>
       <samlp:Status>
              <samlp:StatusCode Value="urn:oasis:names:tc:
                     SAML:2.0:status:Success" />
       </samlp:Status>
       <saml:Assertion xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
              ID="idzQO7U5TzPLLL4dlqTqRt9VIOlYg-" 
              IssueInstant="2015-09-02T14:10:24.376Z"
              Version="2.0">
              <saml:Issuer Format="urn:oasis:names:tc:SAML:2.0:
                     nameid-format:entity">
                            Identity Provider
              </saml:Issuer>
              <dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
                     <dsig:SignedInfo>
                            <dsig:CanonicalizationMethod
                               Algorithm="http://www.w3.org/2001/10/xmlexc-c14n#" />
                            <dsig:SignatureMethod
                               Algorithm="http://www.w3.org/2000/09/xmldsig#
                                          rsa-sha1" />
                            <dsig:Reference URI=
                                   "#id-zQO7U5TzPLLL4dlqTqRt9VIOlYg-" />
                                  <dsig:Transforms>
                                      <dsig:Transform Algorithm=
                                         "http://www.w3.org/2000/09/xmldsig#
                                                 enveloped-signature" />
                                      <dsig:Transform Algorithm=
                                      "http://www.w3.org/2001/10/xml-exc-c14n#" />
                                  </dsig:Transforms>
                                  <dsig:DigestMethod Algorithm=
                                      "http://www.w3.org/2000/09/xmldsig#sha1" />
                                  <dsig:DigestValue>
                                          XXX=
                                  </dsig:DigestValue>
                            </dsig:Reference>
                     </dsig:SignedInfo>
                     <dsig:SignatureValue>xxx</dsig:SignatureValue>
              </dsig:Signature>
              <saml:Subject>
                     <saml:NameID Format=
                            "urn:oasis:names:tc:SAML:2.0:nameid-format:
                                   transient"
                            NameQualifier="Test Identity Provider" 
                            SPNameQualifier="TEST">
                            id-N2EIOvbwaVflUP-cKTzgv8dGYLg-
                     </saml:NameID>
                     <saml:SubjectConfirmation 
                            Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
                            <saml:SubjectConfirmationData
                              InResponseTo=
                                   "s2e211c5bfc0200fc48819f381f17d56ca0b5c780f"
                              NotOnOrAfter="2015-09-02T14:10:24.376Z" 				
                              Recipient="http://serviceprovider.com/location" />
                     </saml:SubjectConfirmation>
                     </saml:Subject>
              <saml:Conditions 
                     NotBefore="2015-09-02T14:10:24.376Z"
                     NotOnOrAfter="2015-09-02T14:10:49.376Z">
                     <saml:AudienceRestriction>
                            <saml:Audience>TEST</saml:Audience>
                     </saml:AudienceRestriction>
              </saml:Conditions>
              <saml:AuthnStatement 
                     AuthnInstant="2015-09-02T14:10:24.376Z"
                     SessionIndex="id-1FTYalkjaVTWwHrFRkIRevHfAxk-"
                     SessionNotOnOrAfter="2015-09-02T14:10:38.376Z">
                     <saml:AuthnContext>
                            <saml:AuthnContextClassRef>
                            urn:oasis:names:tc:SAML:2.0:ac:classes:
                             PasswordProtectedTransport
                            </saml:AuthnContextClassRef> 
                     </saml:AuthnContext>
              </saml:AuthnStatement>
              <saml:AttributeStatement xmlns:x500=
                  "urn:oasis:names:tc:SAML:2.0:profiles:
                  attribute:X500"
                  xmlns:xs="http://www.w3.org/2001/XMLSchema" 
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                  <saml:Attribute 
                         Name="UserIdentifier"
                         NameFormat="urn:oasis:names:tc:SAML:2.0:
                                attrnameformat:basic">
                        <saml:AttributeValue xsi:type="xs:string">
                                user@example.com
                         </saml:AttributeValue>
                  </saml:Attribute>
              </saml:AttributeStatement>
       </saml:Assertion>
</samlp:Response>