SAML SOAP Binding: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 43: Line 43:
=SAML Response=
=SAML Response=


The SAML response also consists of a SOAP Envelope that includes a SOAP Body. The SOAP Body includes the digital signature and the response data. An AuthenticationStatement example follows:
The SAML response also consists of a SOAP Envelope that includes a SOAP Body. The SOAP Body includes the digital signature and the response data, in form of a SAML Assertion. A SAML AuthenticationStatement assertion example follows:


<pre>
<pre>

Revision as of 18:18, 21 February 2017

Internal

Overview

SAML Request

The SAML request consists in a SOAP Envelope that contains a SOAP Body. The SOAP Body typically includes a Security Token, a digital signature, generated using XML Signature and the request data. An AuthnRequest follows:

<env:Envelope xmlns:env=”http://www.w3.org/2003/05/soap/envelope/”>

  <env:Body>

    <samlp:AuthnRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
           ForceAuthn="true"
           AssertionConsumerServiceURL="http://www.example.com/serviceA/"
           AttributeConsumingServiceIndex="0"
           ProviderName="string"
           ID="skdfa7234"
           Version="2.0"
           IssueInstant="2005-06-01T01:00:00Z"
           Destination="http://www.example.com/"
           Consent="http://www.example.com/">

      <saml:Subject xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">

        <saml:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress">
          user1@example.com
        </saml:NameID>

       </saml:Subject>

     </samlp:AuthnRequest>

  </env:Body>

</env:Envelope>

SAML Response

The SAML response also consists of a SOAP Envelope that includes a SOAP Body. The SOAP Body includes the digital signature and the response data, in form of a SAML Assertion. A SAML AuthenticationStatement assertion example follows:

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">

  <env:Body>

    <samlp:Response xmlns:samlp="..." xmlns:saml="..." xmlns:ds="...">

      <Status> 
        <StatusCode value=”urn:oasis:names:tc:SAML:2.0:status:Success”/>     
      </Status>

      <saml:Assertion>
        
        <saml:AuthenticationStatement>
            ...
        </saml:AuthenticationStatement>

      </saml:Assertion>

    </samlp:Response>

  </env:Body>

</env:Envelope>