Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Binding

Die Übermittlung der Nachrichten erfolgt über POST-Binding. Dabei wird der AuthnRequest an https://broker.hin.ch/realms/HINBroker/protocol/saml gepostet. Dazu wird vom Applikationsanbieter ein XHTML-Formular an den Browser des Anwenders zurückgeliefert, welches über JavaScript automatisch übermittelt wird. Das Formular enthält den base64-codierten AuthnRequest.

Übertragung der SAML Nachrichten

SP-generiertes HTML-Formular

Der SAML-Request wird base64-codiert im Feld SAMLRequest eingefügt:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title>POST data</title>
</head>
<body onload="document.getElementsByTagName('input')[0].click();">
  <form method="post" action="https://broker.hin.ch/realms/HINBroker/protocol/saml">
    <input style="display:none;" type="submit">
    <input name="SAMLRequest" value="@base64 encoded request@" type="hidden">
    <button type="submit" class="btn">Submit</button>
  </form>
</body>
</html>

@base64 encoded request@: Platzhalter für den codierten Request.

IDP-generiertes HTML-Formular

Die SAML-Response wird base64-codiert im Feld SAMLResponse eingefügt:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
  "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title>Nevis Navajo Generated Form</title>
  <meta name="robots" content="noindex">
</head>
<body onload="document.forms[0].submit();">
  <form action="https://aak.local/simplesaml/module.php/saml/sp/saml2-acs.php/fed.hin.ch_Post_aak.local"
        method="post" enctype="application/x-www-form-urlencoded">
    <div>
      <input name="SAMLResponse" value="@base64 encoded response@" type="hidden">
    </div>
    <div><input value="Continue" type="submit"></div>
  </form>
</body>
</html>

@base64 encoded response@: Platzhalter für die codierte Response.