<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" >
  <title>MOA-ID - Protokolle</title>
  <link rel="stylesheet" href="../common/MOA.css" type="text/css">
  <link href='https://fonts.googleapis.com/css?family=Roboto:300,400' rel='stylesheet' type='text/css'>
</head>
<body link="#990000"> 
    <div id="headline">
      <div class="container">
          <a href="http://www.digitales.oesterreich.gv.at/"><img src="../common/logo_digAT.png"/></a>
          <a href="../index.html"><h1>MOA-ID-AUTH </h1></a>
          <br/>
      </div>
  </div>

<div class="container">
<h1>Protokolle</h1> 
    
<h2>Inhalt</h2>
  <ol class="index">
    <li><a href="#allgemeines">Allgemeines</a>
      <ol>
        <li><a href="#allgemeines_zugangspunkte">&Uuml;bersicht der Zugangspunkte</a></li>
        <li><a href="#allgemeines_attribute">&Uuml;bersicht der m&ouml;glichen Attribute</a></li>
        <li><a href="#statuscodes">&Uuml;bersicht der m&ouml;glichen MOA-ID spezifischen Statuscodes</a>
<ol>
        <li><a href="#statuscodes_1xxxx">Statuscodes 1xxxx</a></li>
            <li><a href="#statuscodes_4xxxx">Statuscodes 4xxxx</a></li>
            <li><a href="#statuscodes_6xxxx">Statuscodes 6xxxx</a></li>
            <li><a href="#statuscodes_9xxxx">Statuscodes 9xxxx</a></li>
          </ol>
        </li>
        <li><a href="#allgemeines_sso">Single Sign-On</a></li>
        <li><a href="#allgemeines_ssologout">SSO Logout</a>
          <ol>
            <li><a href="#allgemeines_ssologout_slo">Single LogOut</a></li>
          </ol>
        </li>
        <li><a href="#allgemeines_legacy">Legacy Request (B&uuml;rgerkartenauswahl beim Service Provider)</a></li>
      </ol>
    </li>
    <li><a href="#pvp21">PVP 2.1 </a>
      <ol>
        <li><a href="#pvp21_sequenz">Ablauf einer Anmeldung mittels PVP 2.1</a></li>
        <li><a href="#pvp21_metadata">Metadaten</a></li>
        <li><a href="#pvp21_binding">Zugangspunkte</a>
<ol>
        <li><a href="#2.3.1 Authentifizierungsrequest">Authentifizierungsrequest</a></li>
            <li><a href="#pvp21_binding_response">Authentifizierungsresponse</a></li>
           </ol>
        </li>
      </ol>
    </li>
    <li><a href="#openid">OpenID Connect</a>
      <ol>
        <li><a href="#openid_sequenzdiagramm">Ablauf einer Anmeldung mittels OpenID Connect</a></li>
        <li><a href="#openid_interface">Zugangspunkte</a></li>
        <li><a href="#openid_requests">Beschreibung der Nachrichten</a>
<ol>
        <li><a href="#openid_req_authnreq">AuthCode Request</a></li>
            <li><a href="#openid_req_authnresp">AuthCode Response</a></li>
            <li><a href="#openid_req_tokenreq">AccessToken Request</a></li>
            <li><a href="#openid_req_tokenresp">AccessToken Response</a></li>
            <li><a href="#openid_req_errorresponse">Error Response</a></li>
          </ol>
</li>
      </ol>
    </li>
    <li><a href="#saml1">SAML 1</a>
      <ol>
        <li><a href="#saml1_sequence">Ablauf einer Anmeldung mittels SAML 1</a></li>
        <li><a href="#saml1_zugang">Zugangspunkte</a></li>
        <li><a href="#saml1_startauth">StartAuthentication Request</a></li>
        <li><a href="#saml1_getassertion">GetAuthenticationData Request</a></li>
      </ol>
    </li>
    
    <li><a href="#referenzierte_spezifikation">Referenzierte Spezifikation</a></li>
</ol>

  <h2><a name="allgemeines"></a>1 Allgemeines</h2>
  <p>Dieses Kapitel behandelt jene Authentifizierungsprotokolle die vom Modul MOA-ID-Auth unterstützt werden. 
  Wobei die Verwendung der Protokolle PVP 2.1 oder OpenID Connect empfohlen wird. Das Protokoll SAML 1, welches bis zur MOA-ID Version 1.5.1 
  verwendet wurde, wird jedoch ab der Version 2.0 nur mehr aus Kompatibilitätsgründen angeboten und nicht mehr aktiv weiterentwickelt.</p>
<h3><a name="allgemeines_zugangspunkte" id="allgemeines_zugangspunkte"></a>1.1 &Uuml;bersicht der Zugangspunkte</h3>
<p>In diesem Abschnitt sind die Zugangspunkte der vom Modul MOA-ID-Auth unterst&uuml;tzten Protokolle kurz zusammengefasst. Eine detaillierte Beschreibung der einzelnen Protokolle finden Sie in den anschlie&szlig;enden Unterkapiteln. </p>
  <table class="configtable">
    <tr>
      <th>Protokoll</th>
      <th>Requesttyp</th>
      <th>URL</th>
    </tr>
    <tr>
      <td><a href="#pvp21">PVP 2.1</a></td>
      <td>Metadaten</td>
      <td>https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/pvp2/metadata</td>
    </tr>
    <tr>
      <td><p><a href="#pvp21">PVP 2.1</a></p></td>
      <td>Authentifizierungsrequest <br>
      POST Binding</td>
      <td>https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/pvp2/post</td>
    </tr>
    <tr>
      <td><p><a href="#pvp21">PVP 2.1</a></p></td>
      <td>Authentifizierungsrequest <br>
Redirect Binding</td>
      <td>https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/pvp2/redirect</td>
    </tr>
    <tr>
      <td><a href="./../interfederation/interfederation.html#config_idps">PVP 2.1</a></td>
      <td>Attribut Query f&uuml;r IDP Interfederation</td>
      <td>https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/pvp2/attributequery</td>
    </tr>
    <tr>
      <td><a href="#./../interfederation/interfederation.html#config_idps">PVP 2.1</a></td>
      <td>Single LogOut</td>
      <td>https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/pvp2/redirect</td>
    </tr>
    <tr>
      <td><a href="#openid">OpenID Connect</a></td>
      <td>Authentifizierungsrequest <br> 
        (AuthCode-Request)</td>
      <td>https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/oauth3/auth</td>
    </tr>
    <tr>
      <td><a href="#openid">OpenID Connect</a></td>
      <td><p>AccessToken-Request</p></td>
      <td>https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/oauth3/token</td>
    </tr>
    <tr>
      <td><a href="#saml1">SAML 1</a></td>
      <td>Authentifizierungsrequest</td>
      <td><p>https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/StartAuthentication</p></td>
    </tr>
    <tr>
      <td><a href="#saml1">SAML 1</a></td>
      <td><p>GetAuthenticationData</p></td>
      <td><p>https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/services/GetAuthenticationData</p>
      <p>http://&lt;host&gt;:&lt;port&gt;/moa-id-auth/services/GetAuthenticationData</p></td>
    </tr>
    <tr>
      <td><a href="#allgemeines_ssologout">SSO LogOut</a></td>
      <td>LogOut</td>
      <td><p>https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/LogOut</p>
      <p>http://&lt;host&gt;:&lt;port&gt;/moa-id-auth/LogOut</p></td>
    </tr>
    <tr>
      <td>IDP Single LogOut</td>
      <td>Single LogOut</td>
      <td><p>https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/idpSingleLogout</p>
      <p>http://&lt;host&gt;:&lt;port&gt;/moa-id-auth/idpSingleLogout</p></td>
    </tr>
  </table>
  <h3><a name="allgemeines_attribute" id="allgemeines_zugangspunkte2"></a>1.2 &Uuml;bersicht der m&ouml;glichen Attribute</h3>
<p>Die nachfolgende Tabelle beinhaltet eine Liste aller Attribute die vom Modul MOA-ID-Auth an die Online-Applikation zur&uuml;ckgeliefert werden k&ouml;nnen, sofern diese nach der Authentifizierung zur Verf&uuml;gung stehen. Alle Namen beziehen sich auf den Attributnamen im jeweiligen Protokoll. Detailinformationen zu den einzelnen Attributen finden Sie in der <a href="#referenzierte_spezifikation">PVP 2.1 Spezifikation</a> der der <a href="#referenzierte_spezifikation">STORK Spezifikation</a>.</p>
<table class="configtable">
    <tr>
      <th colspan="4" align="center" valign="middle" scope="col">Protokolle</th>
      <th rowspan="3" scope="col">Beschreibung</th>
    </tr>
    <tr>
      <th rowspan="2" scope="col">PVP 2.1</th>
      <th colspan="2" scope="col">OpenID Connect</th>
      <th rowspan="2" scope="col">SAML 1</th>
    </tr>
    <tr>
      <th>Name</th>
      <th>Profil</th>
    </tr>
    <tr>
      <td>urn:oid:1.2.40.0.10.2.1.1.149</td>
      <td>BPK</td>
      <td align="center">eID</td>
      <td><p>/saml:Assertion/saml:AttributeStatement/</p>
      <p>saml:Subject/saml:NameIdentifier</p></td>
      <td><p>Bereichsspezifisches Personenkennzeichen (bPK / wbPK)</p>
      <p><strong>Hinweis:</strong> Der Syntax f&uuml;r dieses Attribut bei den Protokollen PVP 2.1 und OpenID Connect ist <em>bPK-value := (BEREICH &quot;:&quot; bPK/wbPK)</em> wobei unter <em>Bereich</em> der &ouml;ffentliche Bereich (Target) der Online-Applikation oder die Stammzahl des Auftraggebers bei Anwendungs-verantwortlichen aus der Privatwirtschaft angegeben wird.</p></td>
    </tr>
    <tr>
      <td><p>urn:oid:2.5.4.42</p></td>
      <td>given_name</td>
      <td align="center">profile</td>
      <td>&lt;saml:Attribute AttributeName=&quot;PersonData&quot; AttributeNamespace=&quot;http://reference.e-government.gv.at/namespace/persondata/20020228#&quot;&gt;</td>
      <td>Vorname</td>
    </tr>
    <tr>
      <td><p>urn:oid:1.2.40.0.10.2.1.1.261.20</p></td>
      <td>family_name</td>
      <td align="center">profile</td>
      <td>&lt;saml:Attribute AttributeName=&quot;PersonData&quot; AttributeNamespace=&quot;http://reference.e-government.gv.at/namespace/persondata/20020228#&quot;&gt;</td>
      <td>Familienname</td>
    </tr>
    <tr>
      <td>urn:oid:1.2.40.0.10.2.1.1.55</td>
      <td>birthdate</td>
      <td align="center">profile</td>
      <td>&lt;saml:Attribute AttributeName=&quot;PersonData&quot; AttributeNamespace=&quot;http://reference.e-government.gv.at/namespace/persondata/20020228#&quot;&gt;</td>
      <td>Geburtsdatum im Format JJJJ-MM-TT</td>
    </tr>
    <tr>
      <td>urn:oid:1.2.40.0.10.2.1.1.261.64</td>
      <td>EID-CCS-URL</td>
      <td align="center">eID</td>
      <td>&lt;saml:Attribute AttributeName=&quot;bkuURL&quot; AttributeNamespace=&quot;http://reference.e-government.gv.at/namespace/moa/20020822#&quot;&gt;</td>
      <td>URL auf die B&uuml;rgerkartenumgebung die f&uuml;r die Authentifizierung verwendet wurde. Im Falle einer Anmeldung mittels STORK steht dieses Attribut NICHT zur Verf&uuml;gung.</td>
    </tr>
    <tr>
      <td>urn:oid:1.2.40.0.10.2.1.1.261.94</td>
      <td>EID-CITIZEN-QAA-LEVEL</td>
      <td align="center">eID</td>
      <td>&nbsp;</td>
      <td>Authentifizierungslevel des B&uuml;rgers</td>
    </tr>
    <tr>
      <td height="23">urn:oid:1.2.40.0.10.2.1.1.261.32</td>
      <td>EID-ISSUING-NATION</td>
      <td align="center">eID</td>
      <td>&nbsp;</td>
      <td>Landescode gem. ISO-3166 ALPHA-2</td>
    </tr>
    <tr>
      <td height="23">urn:oid:1.2.40.0.10.2.1.1.261.34</td>
      <td>EID-SECTOR-FOR-IDENTIFIER</td>
      <td align="center">eID</td>
      <td>&nbsp;</td>
      <td>Bereich f&uuml;r den die bPK / wbPK berechnet wurde.</td>
    </tr>
    <tr>
      <td height="23">urn:oid:1.2.40.0.10.2.1.1.261.62</td>
      <td>EID-AUTH-BLOCK</td>
      <td align="center">eID</td>
      <td><p>/saml:Assertion/saml:AttributeStatement/</p>
      <p>saml:Subject/saml:SubjectConfirmation/</p>
      <p>saml:SubjectConfirmationData</p></td>
      <td>Base64 kodierte Signatur die w&auml;hrend des Authentifizierungsvorgangs vom Benutzer erzeugt wurde.</td>
    </tr>
    <tr>
      <td height="23">urn:oid:1.2.40.0.10.2.1.1.261.66</td>
      <td>EID-SIGNER-CERTIFICATE</td>
      <td align="center">eID</td>
      <td>&lt;saml:Attribute AttributeName=&quot;SignerCertificate&quot; AttributeNamespace=&quot;http://reference.e-government.gv.at/namespace/moa/20020822#&quot;&gt;</td>
      <td>Base64 kodiertes Zertifikat, dass f&uuml;r die Anmeldung verwendet wurde.</td>
    </tr>
    <tr>
      <td height="23">urn:oid:1.2.40.0.10.2.1.1.261.36</td>
      <td>EID-SOURCE-PIN</td>
      <td align="center">eID_gov</td>
      <td>&lt;saml:Attribute AttributeName=&quot;PersonData&quot; AttributeNamespace=&quot;http://reference.e-government.gv.at/namespace/persondata/20020228#&quot;&gt;</td>
      <td><p>Stammzahl der nat&uuml;rlichen Person</p>
      <p><strong>Hinweis:</strong> Dieses Attribut steht nur zur Verf&uuml;gung wenn die Online-Applikation alle <a href="../config/config.html#konfigurationsparameter_oa_general_public">Anforderungen an eine Applikation aus dem &ouml;ffentlichen Bereich</a> erf&uuml;llt.</p></td>
    </tr>
    <tr>
      <td height="23">urn:oid: 1.2.40.0.10.2.1.1.261.104</td>
      <td>EID-SOURCE-PIN-TYPE</td>
      <td align="center">eID_gov</td>
      <td>&lt;saml:Attribute AttributeName=&quot;PersonData&quot; AttributeNamespace=&quot;http://reference.e-government.gv.at/namespace/persondata/20020228#&quot;&gt;</td>
      <td><p>Bereich der Stammzahl, wobei aktuell nur ein Bereich existiert.</p>
      <p><strong>Hinweis:</strong> Dieses Attribut steht nur zur Verf&uuml;gung wenn die Online-Applikation alle <a href="../config/config.html#konfigurationsparameter_oa_general_public">Anforderungen an eine Applikation aus dem &ouml;ffentlichen Bereich</a> erf&uuml;llt.</p></td>
    </tr>
    <tr>
      <td height="23">urn:oid:1.2.40.0.10.2.1.1.261.38</td>
      <td>EID-IDENTITY-LINK</td>
      <td align="center">eID_gov</td>
      <td><p>/saml:Assertion/saml:AttributeStatement/</p>
      <p>saml:Subject/saml:SubjectConfirmation/</p>
      <p>saml:SubjectConfirmationData</p></td>
      <td><p>Gesamte Personenbindung in BASE64 kodiert.</p>
      <p><strong>Hinweis:</strong> Im Falle einer privatwirtschaftlichen Applikation ist die Stammzahl durch die wbPK ersetzt.</p></td>
    </tr>
    <tr>
      <td height="23">urn:oid:1.2.40.0.10.2.1.1.261.106</td>
      <td>MANDATE-TYPE-OID</td>
      <td align="center">mandate</td>
      <td>&nbsp;</td>
      <td>Bezeichnung als OID des verwendeten Vollmachten-Profils</td>
    </tr>
    <tr>
      <td height="23">urn:oid:1.2.40.0.10.2.1.1.261.68</td>
      <td>MANDATE-TYPE</td>
      <td align="center">mandate</td>
      <td>&lt;saml:Attribute AttributeName=&quot;RepresentationType&quot; AttributeNamespace=&quot;http://reference.e-government.gv.at/namespace/mandates/20040701#&quot;&gt;</td>
      <td>Bezeichnung des verwendeten Vollmachten-Profils.</td>
    </tr>
    <tr>
      <td height="23">urn:oid:1.2.40.0.10.2.1.1.261.102</td>
      <td>MANDATOR-NATURAL-PERSON-SOURCE-PIN-TYPE</td>
      <td align="center">mandate</td>
      <td>&lt;saml:Attribute AttributeName=&quot;MandateData&quot; AttributeNamespace=&quot;http://reference.e-government.gv.at/namespace/persondata/20020228#&quot;&gt;</td>
      <td>Bereich der Stammzahl der vertretenen nat&uuml;rlichen Person, wobei aktuell nur ein Bereich existiert.</td>
    </tr>
    <tr>
      <td height="23">urn:oid:1.2.40.0.10.2.1.1.261.70</td>
      <td>MANDATOR-NATURAL-PERSON-SOURCE-PIN</td>
      <td align="center">mandate</td>
      <td>&lt;saml:Attribute AttributeName=&quot;MandateData&quot; AttributeNamespace=&quot;http://reference.e-government.gv.at/namespace/persondata/20020228#&quot;&gt;</td>
      <td>Stammzahl der nat&uuml;rlichen Person, f&uuml;r die Vollmachts- bzw. Vertretungsbefugnisse ausge&uuml;bt werden.</td>
    </tr>
    <tr>
      <td height="23">urn:oid:1.2.40.0.10.2.1.1.261.76</td>
      <td>MANDATOR-LEGAL-PERSON-SOURCE-PIN-TYPE</td>
      <td align="center">mandate</td>
      <td>&lt;saml:Attribute AttributeName=&quot;MandateData&quot; AttributeNamespace=&quot;http://reference.e-government.gv.at/namespace/persondata/20020228#&quot;&gt;</td>
      <td>Gibt an, um welche Art der Stammzahl einer vertretenen juristischen Person es sich handelt.</td>
    </tr>
    <tr>
      <td height="23">urn:oid:1.2.40.0.10.2.1.1.261.100</td>
      <td>MANDATOR-LEGAL-PERSON-SOURCE-PIN</td>
      <td align="center">mandate</td>
      <td>&lt;saml:Attribute AttributeName=&quot;MandateData&quot; AttributeNamespace=&quot;http://reference.e-government.gv.at/namespace/persondata/20020228#&quot;&gt;</td>
      <td>Stammzahl der juristischen Person, f&uuml;r die Vollmachts- bzw. Vertretungsbe-fugnisse ausge&uuml;bt werden.</td>
    </tr>
    <tr>
      <td height="23">urn:oid:1.2.40.0.10.2.1.1.261.98</td>
      <td>MANDATOR-NATURAL-PERSON-BPK</td>
      <td align="center">mandate</td>
      <td>&lt;saml:Attribute AttributeName=&quot;MandateData&quot; AttributeNamespace=&quot;http://reference.e-government.gv.at/namespace/persondata/20020228#&quot;&gt;</td>
      <td>Bereichsspezifisches Personenkennzeichen des Vollmachtgebers</td>
    </tr>
    <tr>
      <td height="23">urn:oid:1.2.40.0.10.2.1.1.261.78</td>
      <td>MANDATOR-NATURAL-PERSON-GIVEN-NAME</td>
      <td align="center">mandate</td>
      <td>&lt;saml:Attribute AttributeName=&quot;MandateData&quot; AttributeNamespace=&quot;http://reference.e-government.gv.at/namespace/persondata/20020228#&quot;&gt;</td>
      <td>Vorname(n) der nat&uuml;rlichen Person, die die Vollmacht erteilt hat, bzw. die vertreten wird.</td>
    </tr>
    <tr>
      <td height="23">urn:oid:1.2.40.0.10.2.1.1.261.80</td>
      <td>MANDATOR-NATURAL-PERSON-FAMILY-NAME</td>
      <td align="center">mandate</td>
      <td>&lt;saml:Attribute AttributeName=&quot;MandateData&quot; AttributeNamespace=&quot;http://reference.e-government.gv.at/namespace/persondata/20020228#&quot;&gt;</td>
      <td>Nachname der Person, die die Vollmacht erteilt hat, bzw. die vertreten wird.</td>
    </tr>
    <tr>
      <td height="23">urn:oid:1.2.40.0.10.2.1.1.261.82</td>
      <td>MANDATOR-NATURAL-PERSON-BIRTHDATE</td>
      <td align="center">mandate</td>
      <td>&lt;saml:Attribute AttributeName=&quot;MandateData&quot; AttributeNamespace=&quot;http://reference.e-government.gv.at/namespace/persondata/20020228#&quot;&gt;</td>
      <td>Geburtsdatum der Person, die die Vollmacht erteilt hat, bzw. die vertreten wird im Format JJJJ-MM-TT</td>
    </tr>
    <tr>
      <td height="23">urn:oid:1.2.40.0.10.2.1.1.261.84</td>
      <td>MANDATOR-LEGAL-PERSON-FULL-NAME</td>
      <td align="center">mandate</td>
      <td>&lt;saml:Attribute AttributeName=&quot;MandateData&quot; AttributeNamespace=&quot;http://reference.e-government.gv.at/namespace/persondata/20020228#&quot;&gt;</td>
      <td>Name der juristischen Person bzw. Personenmehrheit gem&auml;&szlig; zugrundeliegendem Register.</td>
    </tr>
    <tr>
      <td height="23">urn:oid:1.2.40.0.10.2.1.1.261.86</td>
      <td>MANDATE-PROF-REP-OID</td>
      <td align="center">mandate</td>
      <td>&lt;saml:Attribute AttributeName=&quot;MandateData&quot; AttributeNamespace=&quot;http://reference.e-government.gv.at/namespace/persondata/20020228#&quot;&gt;</td>
      <td>Object Identifiern (OID) zur Kennzeichnung von berufsm&auml;&szlig;igen ParteienvertreterInnen bzw. OrganwalterInnen.</td>
    </tr>
    <tr>
      <td height="23">urn:oid:1.2.40.0.10.2.1.1.261.88</td>
      <td>MANDATE-PROF-REP-DESCRIPTION</td>
      <td align="center">mandate</td>
      <td>&lt;saml:Attribute AttributeName=&quot;MandateData&quot; AttributeNamespace=&quot;http://reference.e-government.gv.at/namespace/persondata/20020228#&quot;&gt;</td>
      <td>Textuelle Beschreibung der  Eigenschaft als berufsm&auml;&szlig;iger ParteienvertreterIn.</td>
    </tr>
    <tr>
      <td height="23">urn:oid:1.2.40.0.10.2.1.1.261.90</td>
      <td>MANDATE-REFERENCE-VALUE</td>
      <td align="center">mandate</td>
      <td>&lt;saml:Attribute AttributeName=&quot;mandateReferenceValue&quot; AttributeNamespace=&quot;http://reference.e-government.gv.at/namespace/moa/20020822#&quot;&gt;</td>
      <td>Die im Rahmen einer elektronischen Vollmachtserstellung generierte Transaktionsnummer.</td>
    </tr>
    <tr>
      <td height="23">urn:oid:1.2.40.0.10.2.1.1.261.92</td>
      <td>MANDATE-FULL-MANDATE</td>
      <td align="center">mandate</td>
      <td>&lt;saml:Attribute AttributeName=&quot;Mandate&quot; AttributeNamespace=&quot;http://reference.e-government.gv.at/namespace/mandates/20040701#&quot;&gt;</td>
      <td>Base64 kodierte Vollmacht im XML Format gem&auml;&szlig; Vollmachten-Spezifikation.</td>
    </tr>
    <tr>
      <td height="23">urn:oid:1.2.40.0.10.2.1.1.261.96</td>
      <td>EID-STORK-TOKEN</td>
      <td align="center">stork</td>
      <td>&nbsp;</td>
      <td>Beinhaltet die komplette Response Message eines STORK Providers im Base64-Format.</td>
    </tr>
    <tr>
      <td height="23">http://www.stork.gov.eu/1.0/<br>
      inheritedFamilyName</td>
      <td>inheritedFamilyName</td>
      <td align="center">stork</td>
      <td>http://www.stork.gov.eu/1.0/<br>
        inheritedFamilyName</td>
      <td><p>Vererbter Familienname</p>
        <strong>Hinweis:</strong> Dieses Attribut steht nur bei einer Anmeldung mittels STORK zur Verf&uuml;gung.</td>
    </tr>
    <tr>
      <td height="23">http://www.stork.gov.eu/1.0/<br>
      adoptedFamilyName</td>
      <td>adoptedFamilyName</td>
      <td align="center">stork</td>
      <td>http://www.stork.gov.eu/1.0/<br>
        adoptedFamilyName</td>
      <td><p>Angenommener Familienname</p>
      <p><strong>Hinweis:</strong> Dieses Attribut steht nur bei einer Anmeldung mittels STORK zur Verf&uuml;gung.</p></td>
    </tr>
    <tr>
      <td height="23">http://www.stork.gov.eu/1.0/<br>
      gender</td>
      <td>gender</td>
      <td align="center">stork</td>
      <td>http://www.stork.gov.eu/1.0/<br>
        gender</td>
      <td><p>Geschlecht</p>
      <p><strong>Hinweis:</strong> Dieses Attribut steht nur bei einer Anmeldung mittels STORK zur Verf&uuml;gung.</p></td>
    </tr>
    <tr>
      <td height="23">http://www.stork.gov.eu/1.0/<br>
      countryCodeOfBirth</td>
      <td>countryCodeOfBirth</td>
      <td align="center">stork</td>
      <td>http://www.stork.gov.eu/1.0/<br>
        countryCodeOfBirth</td>
      <td><p>Geburtsland</p>
      <p><strong>Hinweis:</strong> Dieses Attribut steht nur bei einer Anmeldung mittels STORK zur Verf&uuml;gung.</p></td>
    </tr>
    <tr>
      <td height="23">http://www.stork.gov.eu/1.0/<br>
      nationalityCode</td>
      <td>nationalityCode</td>
      <td align="center">stork</td>
      <td>http://www.stork.gov.eu/1.0/<br>
        nationalityCode</td>
      <td><p>Nationalit&auml;t</p>
      <p><strong>Hinweis:</strong> Dieses Attribut steht nur bei einer Anmeldung mittels STORK zur Verf&uuml;gung.</p></td>
    </tr>
    <tr>
      <td height="23">http://www.stork.gov.eu/1.0/<br>
      maritalStatus</td>
      <td>maritalStatus</td>
      <td align="center">stork</td>
      <td>http://www.stork.gov.eu/1.0/<br>
        maritalStatus</td>
      <td><p>Familienstand</p>
      <p><strong>Hinweis:</strong> Dieses Attribut steht nur bei einer Anmeldung mittels STORK zur Verf&uuml;gung.</p></td>
    </tr>
    <tr>
      <td height="23">http://www.stork.gov.eu/1.0/<br>
      textResidenceAddress</td>
      <td>textResidenceAddress</td>
      <td align="center">stork</td>
      <td>http://www.stork.gov.eu/1.0/<br>
        textResidenceAddress</td>
      <td><p>Wohnadresse in Textform</p>
      <p><strong>Hinweis:</strong> Dieses Attribut steht nur bei einer Anmeldung mittels STORK zur Verf&uuml;gung.</p></td>
    </tr>
    <tr>
      <td height="23">http://www.stork.gov.eu/1.0/<br>
      canonicalResidenceAddress</td>
      <td>canonicalResidenceAddress</td>
      <td align="center">stork</td>
      <td>http://www.stork.gov.eu/1.0/<br>
        canonicalResidenceAddress</td>
      <td><p>Anerkannte Wohnadresse</p>
      <p><strong>Hinweis:</strong> Dieses Attribut steht nur bei einer Anmeldung mittels STORK zur Verf&uuml;gung.</p></td>
    </tr>
    <tr>
      <td height="23">http://www.stork.gov.eu/1.0/<br>
      title</td>
      <td>title</td>
      <td align="center">stork</td>
      <td>http://www.stork.gov.eu/1.0/<br>
        title</td>
      <td><p>Titel</p>
      <p><strong>Hinweis:</strong> Dieses Attribut steht nur bei einer Anmeldung mittels STORK zur Verf&uuml;gung.</p></td>
    </tr>
    <tr>
      <td height="23">http://www.stork.gov.eu/1.0/<br>
      residencePermit</td>
      <td>residencePermit</td>
      <td align="center">stork</td>
      <td>http://www.stork.gov.eu/1.0/<br>
        residencePermit</td>
      <td><p>Aufenthaltsbewilligung</p>
      <p><strong>Hinweis:</strong> Dieses Attribut steht nur bei einer Anmeldung mittels STORK zur Verf&uuml;gung.</p></td>
    </tr>
    <tr>
      <td height="23">http://www.stork.gov.eu/1.0/<br>
      pseudonym</td>
      <td>pseudonym</td>
      <td align="center">stork</td>
      <td>http://www.stork.gov.eu/1.0/<br>
        pseudonym</td>
      <td><p>Pseudonym</p>
      <p><strong>Hinweis:</strong> Dieses Attribut steht nur bei einer Anmeldung mittels STORK zur Verf&uuml;gung.</p></td>
    </tr>
    <tr>
      <td height="23">http://www.stork.gov.eu/1.0/<br>
      age</td>
      <td>age</td>
      <td align="center">stork</td>
      <td>http://www.stork.gov.eu/1.0/<br>
        age</td>
      <td><p>Alter</p>
      <p><strong>Hinweis:</strong> Dieses Attribut steht nur bei einer Anmeldung mittels STORK zur Verf&uuml;gung.</p></td>
    </tr>
    <tr>
      <td height="23">http://www.stork.gov.eu/1.0/<br>
      isAgeOver</td>
      <td>isAgeOver</td>
      <td align="center">stork</td>
      <td>http://www.stork.gov.eu/1.0/<br>
        isAgeOver</td>
      <td><p>Mindestalter erreicht</p>
      <p><strong>Hinweis:</strong> Dieses Attribut steht nur bei einer Anmeldung mittels STORK zur Verf&uuml;gung.</p></td>
    </tr>
    <tr>
      <td height="23">http://www.stork.gov.eu/1.0/<br>
      fiscalNumber</td>
      <td>fiscalNumber</td>
      <td align="center">stork</td>
      <td>http://www.stork.gov.eu/1.0/<br>
        fiscalNumber</td>
      <td><p>Steuernummer</p>
      <p><strong>Hinweis:</strong> Dieses Attribut steht nur bei einer Anmeldung mittels STORK zur Verf&uuml;gung.</p></td>
    </tr>
  </table>
<h3><a name="statuscodes" id="allgemeines_zugangspunkte6"></a>1.3 &Uuml;bersicht der m&ouml;glichen MOA-ID spezifischen Statuscodes</h3>
<p>Vom Modul MOA-ID-Auth werden verschiedene Authentifizierungsprotokolle wobei diese Protokolle die Fehlerr&uuml;ckgabe unterschiedlich spezifizieren. Zus&auml;tzlich zu den protokollabh&auml;ngigen Statuscodes (<a href="#referenzierte_spezifikation">siehe Spezifikation des jeweiligen Protokolls</a>) werden zus&auml;tzliche protokollunabh&auml;ngige Statuscodes an den Service Provider zur&uuml;ckgeliefert, wobei sich das Format der Fehlerr&uuml;ckgabe jedoch weiterhin protokollspezifisch ist.</p>
<p>Die nachfolgende Tabelle zeigt alle protokollunabh&auml;ngigen Statuscodes welche vom Modul MOA-ID-Auth zur&uuml;ckgeliefert werden k&ouml;nnen.</p>
<h4><a name="statuscodes_1xxxx" id="allgemeines_zugangspunkte7"></a>1.3.1 Statuscodes 1xxxx</h4>
<p>Alle Statuscodes beginnend mit der Zahl eins beschreiben Fehler welche w&auml;hrend des Identifizierungs- und Authentifizierungsvorgangs aufgetreten sind.</p>
<h5><a name="statuscodes_10xxx" id="allgemeines_zugangspunkte11"></a>1.3.1.1 Authentifizierung (10xxx)</h5>
<table class="configtable">
  <tr>
    <th>Statuscode</th>
    <th>Beschreibung</th>
  </tr>
  <tr>
    <td>1000</td>
    <td>Anmeldung an der angeforderten Online-Applikation wird nicht unterst&uuml;tzt.</td>
  </tr>
  <tr>
    <td>1001</td>
    <td>Es ist bereits eine Anmeldung im Gange.</td>
  </tr>
  <tr>
    <td>1002</td>
    <td>Fehlerhafter Parameter</td>
  </tr>
  <tr>
    <td>1003</td>
    <td>Anfrage nur &uuml;ber https m&ouml;glich</td>
  </tr>
  <tr>
    <td>1004</td>
    <td>Zertifikat konnte nicht ausgelesen werden</td>
  </tr>
  <tr>
    <td>1005</td>
    <td>Die Authentifizierung wurde durch den Benutzer abgebrochen</td>
  </tr>
  <tr>
    <td>1006</td>
    <td>Vollmachtsmodus f&uuml;r nicht-&ouml;ffentlichen Bereich wird nicht unterst&uuml;tzt.</td>
  </tr>
  <tr>
    <td>1007</td>
    <td>Vollmachtsmodus f&uuml;r ausl&auml;ndische Personen wird nicht unterst&uuml;tzt.</td>
  </tr>
  <tr>
    <td>1008</td>
    <td>Es konnten nicht alle minimal erforderlichen Identifikations- oder Authentifikationsmerkmale ermittelt werden.</td>
  </tr>
</table>
<h5><a name="statuscodes_11xxx" id="allgemeines_zugangspunkte12"></a>1.3.1.2 Validierung (11xxx)</h5>
<table class="configtable">
  <tr>
    <th>Statuscode</th>
    <th>Beschreibung</th>
  </tr>
  <tr>
    <td>1100</td>
    <td>Ung&uuml;ltige MOA SessionID</td>
  </tr>
  <tr>
    <td>1101</td>
    <td>Fehler beim Parsen eines Parameters</td>
  </tr>
  <tr>
    <td>1102</td>
    <td>Fehler beim Validieren der Personenbindung</td>
  </tr>
  <tr>
    <td>1103</td>
    <td>Signatur ung&uuml;ltig</td>
  </tr>
  <tr>
    <td>1104</td>
    <td>Zertifikat der Personenbindung ung&uuml;ltig</td>
  </tr>
  <tr>
    <td>1105</td>
    <td>Zertifikat der Signatur ung&uuml;ltig</td>
  </tr>
  <tr>
    <td>1106</td>
    <td>Fehler beim Validieren des AuthBlocks</td>
  </tr>
  <tr>
    <td>1107</td>
    <td>Fehler beim Validieren eines  SSL-Server-Endzertifikates</td>
  </tr>
  <tr>
    <td>1108</td>
    <td>Fehler beim Validieren der Online Vollmacht.</td>
  </tr>
  <tr>
    <td>1109</td>
    <td>Fehler beim Validieren der SZR-Gateway Response</td>
  </tr>
  <tr>
    <td>1110</td>
    <td>Ung&uuml;ltige Single Sign-On Session</td>
  </tr>
</table>
<h5><a name="statuscodes_12xxx" id="allgemeines_zugangspunkte13"></a>1.3.1.3 STORK (12xxx)</h5>
<table class="configtable">
  <tr>
    <th>Statuscode</th>
    <th>Beschreibung</th>
  </tr>
  <tr>
    <td>1200</td>
    <td>Fehler beim Erstellen des STORK Authentifizierungsrequests</td>
  </tr>
  <tr>
    <td>1201</td>
    <td>Fehler beim Validieren der STORK Authentifizierungsresponse</td>
  </tr>
  <tr>
    <td>1202</td>
    <td>STORK Authentifizierungsresponse antwortet mit einem Fehler</td>
  </tr>
  <tr>
    <td>1203</td>
    <td>Fehler beim Sammeln von STORK Attributen</td>
  </tr>
  <tr>
    <td>1204</td>
    <td>Ein STORK Attribut wei&szlig;t ein fehlerhaftes Format auf.</td>
  </tr>
  <tr>
    <td>1205</td>
    <td>Der geforderte QAA Level ist h&ouml;her als der QAA Level der gew&auml;hlten Authentifizierungsmethode</td>
  </tr>
</table>
<h5><a name="statuscodes_13xx" id="allgemeines_zugangspunkte26"></a>1.3.1.4 eIDAS (13xxx)</h5>
<table class="configtable">
  <tr>
    <th width="13%">Statuscode</th>
    <th width="87%">Beschreibung</th>
  </tr>
  <tr>
    <td>1300</td>
    <td>Fehler beim Erstellen des eIDAS Authentifizierungsrequests</td>
  </tr>
  <tr>
    <td>1301</td>
    <td>Fehler beim Validieren der eIDAS Authentifizierungsresponse</td>
  </tr>
  <tr>
    <td>1302</td>
    <td>Response vom eIDAS Node enth&auml;lt einen Fehler</td>
  </tr>
  <tr>
    <td>1303</td>
    <td>eIDAS Response beinhaltet nicht alle minimal erforderlichen Attribute</td>
  </tr>
  <tr>
    <td>1304</td>
    <td>Der ausgew&auml;hlte eIDAS Node existiert nicht oder ist nicht konfiguriert</td>
  </tr>
  <tr>
    <td>1305</td>
    <td>eIDAS Request konnte nicht g&uuml;ltig verarbeitet werden</td>
  </tr>
  <tr>
    <td>1306</td>
    <td>Generierung der eIDAS Metadaten fehlgeschlagen</td>
  </tr>
  <tr>
    <td>1307</td>
    <td>Generierung der eIDAS Response fehlgeschlagen</td>
  </tr>
  <tr>
    <td>1399</td>
    <td>Interner Fehler in der eIDAS SAML-Engine</td>
  </tr>
</table>
<h4><a name="statuscodes_4xxxx" id="allgemeines_zugangspunkte8"></a>1.3.2 Statuscodes 4xxxx</h4>
<p>Alles Statuscodes beginnend mit der Zahl vier beschreiben Fehler die w&auml;hrend der Kommunikation mit externen Services aufgetreten sind.</p>
<h5><a name="statuscodes_40xxx" id="allgemeines_zugangspunkte19"></a>1.3.2.1 BKU (40xxxx)</h5>
<p>Tritt w&auml;hrend des Anmeldevorgangs in der B&uuml;rgerkartenumgebung ein Fehler auf so wird der entsprechende Fehlercode an den Service Provider weitergereicht. Der der durch das Modul MOA-ID-Auth weitergereichte Statuscode f&uuml;r B&uuml;rgerkartenumgebungsfehler wei&szlig;t das folgende zweiteilige Format auf. Der erste Teil, bestehend aus zwei Dezimalstellen, kennzeichnet den Fehler als Fehler als B&uuml;rgerkartenumgebungsfehler. Der zweite Teil, bestehend aus vier Dezimalstellen bezeichnet den eindeutigen Identifikator des Fehlers aus der B&uuml;rgerkartenumgebung (<a href="#referenzierte_spezifikation">siehe SecurityLayer Spezifikation</a>). </p>
<p align="right"><em>{40}{xxxxx}</em></p>
<blockquote>
  <p>{40}  ... MOA-ID Statuscode f&uuml;r Fehler aus der B&uuml;rgerkartenumgebung</p>
  <p>{xxxx}  .... Fehlercode der B&uuml;rgerkartenumgebung.</p>
</blockquote>
<h5><a name="statuscodes_41xxx" id="allgemeines_zugangspunkte20"></a>1.3.2.2 MIS (41xxxx)</h5>
<p>Tritt w&auml;hrend der Kommunikation mit dem Online-Vollmachten Service oder der Vollmachtsauswahl ein Fehler auf so wird der entsprechende Fehlercode an den Service Provider weitergereicht. Der der durch das Modul MOA-ID-Auth weitergereichte Statuscode f&uuml;r Fehler aus dem Online-Vollmachten Service wei&szlig;t das folgende zweiteilige Format auf. Der erste Teil, bestehend aus drei Dezimalstellen, kennzeichnet den Fehler als Fehler als Online-Vollmachten Service Fehler. Der zweite Teil, bestehend aus drei Dezimalstellen bezeichnet den eindeutigen Identifikator des Fehlers aus dem Online-Vollmachten Service (<a href="#referenzierte_spezifikation">siehe Online-Vollmachten Spezifikation</a>). </p>
<p><em>{411}{xxxx}</em></p>
<blockquote>
  <p>{411}  ... MOA-ID Statuscode f&uuml;r Fehler aus  dem Online-Vollmachten Service.</p>
  <p>{xxx}  .... Fehlercode des Online-Vollmachten Service.</p>
</blockquote>
<p>Zus&auml;tzlich zu den gemappten Fehlern aus dem Online-Vollmachen Service werden zus&auml;tzliche weitere Fehlercodes definiert.</p>
<table class="configtable">
  <tr>
    <th>Statuscode</th>
    <th>Beschreibung</th>
  </tr>
  <tr>
    <td>41000</td>
    <td>Das Online-Vollmachten Service ist nicht erreichbar</td>
  </tr>
  <tr>
    <td>41001</td>
    <td>Allgemeiner Fehler bei der Kommunikation mit dem Online-Vollmachten Service</td>
  </tr>
</table>
<h5><a name="statuscodes_42xxx" id="allgemeines_zugangspunkte21"></a>1.3.2.3 SZR-Gateway (42xxx)</h5>
<table class="configtable">
  <tr>
    <th>Statuscode</th>
    <th>Beschreibung</th>
  </tr>
  <tr>
    <td>4200</td>
    <td>Das SZR-Gateway Service ist nicht erreichbar</td>
  </tr>
  <tr>
    <td>4201</td>
    <td>Die Antragung in das SZR ist fehlgeschlagen</td>
  </tr>
</table>
<h5><a name="statuscodes_43xxx" id="allgemeines_zugangspunkte22"></a>1.3.2.4 MOA SP/SS(43xxx)</h5>
<table class="configtable">
  <tr>
    <th width="23%">Statuscode</th>
    <th width="77%">Beschreibung</th>
  </tr>
  <tr>
    <td>4300</td>
    <td>Fehler beim Aufruf von MOA SP/SS</td>
  </tr>
</table>
<h5><a name="statuscodes_44xxx" id="allgemeines_zugangspunkte23"></a>1.3.2.5 Interfederation (44xx)</h5>
<table class="configtable">
  <tr>
    <th width="23%">Statuscode</th>
    <th width="77%">Beschreibung</th>
  </tr>
  <tr>
    <td>4400</td>
    <td>Fehler beim Generieren der Anmeldedaten</td>
  </tr>
  <tr>
    <td>4401</td>
    <td>Die Verwendung des angeforderten federated IDP ist nicht erlaubt</td>
  </tr>
</table>
<h5>1.3.2.6 Attributprovider (45xx)</h5>
<table class="configtable">
  <tr>
    <th width="12%">Statuscode</th>
    <th width="88%">Beschreibung</th>
  </tr>
  <tr>
    <td>4500</td>
    <td>Der Zugriff auf einen Attributprovider ist nicht erlaubt</td>
  </tr>
  <tr>
    <td>4501</td>
    <td>Die Requestgenerierung f&uuml;r den Zugriff auf den Attributprovider schlug fehl</td>
  </tr>
  <tr>
    <td>4502</td>
    <td>Die Response vom Attributeprovider ist ung&uuml;ltig oder nicht errlaubt</td>
  </tr>
  <tr>
    <td>4503</td>
    <td>Die Response vom Attributeprovider beinhaltet einen Fehlercode</td>
  </tr>
</table>
<h4><a name="statuscodes_6xxxx" id="allgemeines_zugangspunkte9"></a>1.3.3 Statuscodes 6xxxx</h4>
<p>Alles Statuscodes beginnend mit der Zahl sechs beschreiben protokollspezifische Fehler die nicht durch das jeweilige Authentifizierungsprotokoll abgebildet werden.</p>
<h5><a name="statuscodes_61xxx" id="allgemeines_zugangspunkte24"></a>1.3.3.1 Allgemein (61xxx)</h5>
<table class="configtable">
  <tr>
    <th>Statuscode</th>
    <th>Beschreibung</th>
  </tr>
  <tr>
    <td>6000</td>
    <td>Das Authentifizierungsprotokoll wurde nicht erkannt oder wird nicht unterst&uuml;tzt</td>
  </tr>
  <tr>
    <td>6001</td>
    <td>Der STORK Request wurde nicht erkannt oder wird nicht unterst&uuml;tzt</td>
  </tr>
</table>
<h5><a name="statuscodes_61xxx" id="allgemeines_zugangspunkte16"></a>1.3.3.2 PVP 2.1 (61xxx)</h5>
<table class="configtable">
  <tr>
    <th>Statuscode</th>
    <th>Beschreibung</th>
  </tr>
  <tr>
    <td>6100</td>
    <td>Fehler beim Erstellen der PVP 2.1 Response</td>
  </tr>
  <tr>
    <td>6101</td>
    <td>Fehler beim Verschl&uuml;sseln der PVP 2.1 Assertion</td>
  </tr>
  <tr>
    <td>6102</td>
    <td>Authentifizierung entspricht nicht dem geforderten QAA Level</td>
  </tr>
  <tr>
    <td>6103</td>
    <td>F&uuml;r die im Reqeust angegebene EntityID konnten keine g&uuml;ltigen Metadaten gefunden werden</td>
  </tr>
  <tr>
    <td>6104</td>
    <td>Die Signatur des Requests konnte nicht g&uuml;ltig validiert werden. Entweder ist die Signatur ung&uuml;ltig oder das Signaturzertifikat stimmt nicht mit dem in den Metadaten hinterlegten Zertifikat &uuml;berein.</td>
  </tr>
  <tr>
    <td>6105</td>
    <td>Der Request konnte nicht g&uuml;ltig validiert werden.</td>
  </tr>
</table>
<h5><a name="statuscodes_62xxx" id="allgemeines_zugangspunkte17"></a>1.3.3.3 OpenID Connect (62xxx)</h5>
<table class="configtable">
  <tr>
    <th>Statuscode</th>
    <th>Beschreibung</th>
  </tr>
  <tr>
    <td>6200</td>
    <td>Fehlerhafte redirect url</td>
  </tr>
</table>
<h5><a name="statuscodes_63xxx" id="allgemeines_zugangspunkte18"></a>1.3.3.4 SAML 1(63xxx)</h5>
<table class="configtable">
  <tr>
    <th>Statuscode</th>
    <th>Beschreibung</th>
  </tr>
  <tr>
    <td>6300</td>
    <td>Fehlerhaftes SAML Artifact Format</td>
  </tr>
</table>
<h4><a name="statuscodes_9xxxx" id="allgemeines_zugangspunkte10"></a>1.3.4 Statuscodes 9xxxx</h4>
<p>Alles Statuscodes beginnend mit der Zahl neun beschreiben interne Serverfehler.</p>
<h5><a name="statuscodes_90xxx" id="allgemeines_zugangspunkte14"></a>1.3.4.1 Konfigurationsfehler (90xxx)</h5>
<table class="configtable">
  <tr>
    <th>Statuscode</th>
    <th>Beschreibung</th>
  </tr>
  <tr>
    <td>9000</td>
    <td>Fehlerhaftes BKU-Selection Template</td>
  </tr>
  <tr>
    <td>9001</td>
    <td>Fehlerhaftes Send-Assertion Template</td>
  </tr>
  <tr>
    <td>9002</td>
    <td>Fehlerhaftes SecurityLayer Template.</td>
  </tr>
  <tr>
    <td>9003</td>
    <td>Fehlerhafte STORK VIDP Konfiguration</td>
  </tr>
  <tr>
    <td>9004</td>
    <td>Fehlerhafte STORK Konfiguration</td>
  </tr>
  <tr>
    <td>9005</td>
    <td>Fehlerhafte OpenID Connect Konfiguration</td>
  </tr>
  <tr>
    <td>9006</td>
    <td>Es sind keine Vollmachtsprofile konfiguriert.</td>
  </tr>
  <tr>
    <td>9007</td>
    <td>Der SZR-Gateway Client konnte nicht initialisiert werden.</td>
  </tr>
  <tr>
    <td>9008</td>
    <td>Fehler beim Verarbeiten eines Konfigurationsparameters.</td>
  </tr>
  <tr>
    <td>9099</td>
    <td>Allgemeiner Konfigurationsfehler</td>
  </tr>
</table>
<h5><a name="statuscodes_91xxx" id="allgemeines_zugangspunkte15"></a>1.3.4.2 Interne Fehler (91xxx)</h5>
<table class="configtable">
  <tr>
    <th>Statuscode</th>
    <th>Beschreibung</th>
  </tr>
  <tr>
    <td>9100</td>
    <td>Fehler beim Einlesen einer externen Ressource.</td>
  </tr>
  <tr>
    <td>9101</td>
    <td>Datenbankzugriffsfehler</td>
  </tr>
  <tr>
    <td>9102</td>
    <td>Fehler beim Erzeugen einer internen Datenstruktur</td>
  </tr>
  <tr>
    <td>9103</td>
    <td>Fehler bei der Verarbeitung eines Templates</td>
  </tr>
  <tr>
    <td>9104</td>
    <td>Fehler bei der Auswahl oder Initialisierung des gew&uuml;nschten Anmeldeprozesses</td>
  </tr>
  <tr>
    <td>9105</td>
    <td>Fehler bei der Fortf&uuml;hrung des Anmeldeprozesses</td>
  </tr>
  <tr>
    <td>9199</td>
    <td>Allgemeiner interner Fehler</td>
  </tr>
</table>
<p>&nbsp;</p>
<h3><a name="allgemeines_sso" id="allgemeines_zugangspunkte3"></a>1.4 Single Sign-On</h3>
<p>Das Modul MOA-ID-Auth unterst&uuml;tzt ab der Version 2.0 Single Sign-On (SSO), wobei diese Funktionalit&auml;t unabh&auml;ngig vom verwendeten Protokoll ist. Bei Verwendung von SSO muss sich der Benutzer nur ein Mal bei MOA-ID-Auth authentifizieren und danach steht die authentifizierte Session f&uuml;r die Benutzerin oder den Benutzer f&uuml;r weitere Anmeldevorg&auml;nge ohne weitere Authentifizierung mittels B&uuml;rgerkarte, Handy-Signatur oder STORK zur Verf&uuml;gung. Die SSO Session kann danach durch <a href="#allgemeines_ssologout">die Benutzerin oder den Benutzer beendet</a> werden, oder sie wird von MOA-ID-Auth nach der <a href="./../config/config.html#konfigurationsparameter_allgemein_timeouts">maximal erlaubten Sessionzeit</a> serverseitig beendet. </p>
<p>Das nachfolgende Sequenzdiagramm zeigt eine Anmeldung mittels Single Sign-On an zwei Online-Applikationen unter Verwendung von PVP 2.1. Aus Gr&uuml;nden der &Uuml;bersichtlichkeit wurden die Teile welche die Kommunikation mit der B&uuml;rgerkartenumgebung, die Vollmachten-Auswahl oder den Metadatenaustausch betreffen bewusst nicht ber&uuml;cksichtigt.</p>
<p><img src="sso_sequence.png" width="1095" height="978" alt="Sequenzdiagramm einer Anmeldung mittels Single Sign-On"></p>
<ol>
  <li>Die Benutzerin oder der Benutzer verbindet sich zu einem Web-Portal (Service Provider 1)   &uuml;ber das die Online-Applikation 1 erreichbar ist. Nach der Bet&auml;tigung   eines Login-Buttons wird der Anmeldevorgang ausgel&ouml;st.</li>
  <li>Der Service Provider  1 generiert einen Authentifizierungsrequest und sendet diesen &uuml;ber den   Browser an das Modul MOA-ID-Auth.</li>
  <li>MOA-ID-Auth leitet die Benutzerin oder den Benutzer zur B&uuml;rgerkartenauswahl.
    <ol>
      <li>Die Benutzerin oder der Benutzer Authentifiziert sich mit der gew&auml;hlten Methode.</li>
    </ol>
  </li>
  <li>War die Authentifizierung der Benutzerin oder des Benutzers   erfolgreich generiert MOA-ID-Auth die Assertion mit den Anmeldedaten des   Benutzers f&uuml;r die Online-Applikation 1.</li>
  <li>MOA-ID-Auth senden die Assertion und ein SSO Token an den Browser des Benutzers, wobei das SSO Token (http Cookie) im Browser des Benutzers gespeichert wird.</li>
  <li>Die Assertion (ohne SSO Token!) wird an den Service Provider 1 weitergeleitet.</li>
  <li>Ist die Validierung der Assertion erfolgreich wird die Benutzerin oder der Benutzer an der Online-Applikation 1 angemeldet. </li>
  <li>Die Benutzerin oder der Benutzer verbindet sich zu einem weiteren Web-Portal (Service Provider 2)   &uuml;ber das die Online-Applikation 2 erreichbar ist. Nach der Bet&auml;tigung   eines Login-Buttons wird der Anmeldevorgang f&uuml;r die Online-Applikation 2 ausgel&ouml;st.</li>
  <li>Der Service Provider  2 generiert einen Authentifizierungsrequest und sendet diesen &uuml;ber den   Browser.</li>
  <li>Der Browser sendet den Authentifizierungsrequest und das gespeicherte SSO Token  an das Modul MOA-ID-Auth.</li>
  <li>MOA-ID-Auth validiert das SSO Token. Hierbei wird gepr&uuml;ft ob das Token zu einer aktiven SSO Session geh&ouml;rt und ob das Token bereits verwendet wurde. Jedes vergebene SSO Token ist nur f&uuml;r einen weiteren Anmeldevorgang g&uuml;ltig und wird anschlie&szlig;end durch ein neues ersetzt. Ist das Token abgelaufen oder wurde es bereits verwendet wird die korrespondierende SSO Session beendet und die Benutzerin oder der Benutzer m&uuml;ssen sich erneut Authentifizieren.</li>
  <li>Bei einem g&uuml;ltigen SSO Token antwortet MOA-ID-Auth mit einem <a href="./../config/config.html#konfigurationsparameter_oa_sso">Abfrage zum SSO Anmeldevorgang</a>, welche der Benutzerin oder dem Benutzer im Browser dargestellt wird. Diese Abfrage beinhaltet den Namen der Online-Applikation 2 und eine einfache JA / NEIN Abfrage ob die Anmeldung mittels SSO an der Online-Applikation 2 fortgesetzt werden soll.<br>
  <strong>Hinweis:</strong> Diese Abfrage kann jedoch f&uuml;r Online-Applikationen deaktiviert werden. N&auml;heres hierzu finden Sie <a href="./../config/config.html#import_template_sso">hier</a>.</li>
  <li>Die Antwort der Benutzerin oder dem Benutzer wird an MOA-ID-Auth &uuml;bermittelt. Antwort die Benutzerin oder der Benutzer mit NEIN wird der Anmeldevorgang abgebrochen.</li>
  <li>Soll der Anmeldevorgang vorgesetzt werden generiert MOA-ID-Auth die Assertion mit den Anmeldedaten des   Benutzers f&uuml;r die Online-Applikation 2.</li>
  <li>MOA-ID-Auth senden die Assertion und ein neues SSO Token an den Browser des Benutzers, wobei das SSO Token (http Cookie) im Browser des Benutzers gespeichert wird.</li>
  <li>Die Assertion (ohne SSO Token!) wird an den Service Provider 2 weitergeleitet.</li>
  <li>Ist die Validierung der Assertion erfolgreich wird die Benutzerin oder der Benutzer an der Online-Applikation 2 angemeldet</li>
</ol>
<p>Zus&auml;tzliche Informationen zur Konfiguration und die sich daraus ergebenden Anforderungen oder Einschr&auml;nkungen finden sie <a href="./../config/config.html#konfigurationsparameter_allgemein_sso">hier</a>.</p>
<h3><a name="allgemeines_ssologout" id="allgemeines_zugangspunkte5"></a>1.5 SSO Logout </h3>
  <p>Das Modul MOA-ID-Auth stellt ein einfaches Service zur Beendigung einer bestehenden Single Sign-On Session zur Verf&uuml;gung. Nach dem Aufruf dieses Service aus dem Browser des Users wird eine bestehende SSO Session beendet und anschlie&szlig;end wird die Benutzerin oder der Benutzer an eine im LogOut Request angegebene URL weitergeleitet. </p>
  <p>Das SSO Logout Service steht unter folgender URL zur Verf&uuml;gung und ben&ouml;tigt einen http GET Parameter:</p>
<pre>http://&lt;host&gt;:&lt;port&gt;/moa-id-auth/LogOut
  </pre>
  <p>bzw. </p>
<pre>
https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/LogOut
  </pre>
<table class="configtable">
    <tr>
      <th>Name</th>
      <th>Beispielwert</th>
      <th>Beschreibung</th>
    </tr>
    <tr>
      <td>redirect</td>
      <td>https://demo.egiz.gv.at/demoportal-openID_demo</td>
      <td><p>Nach Beendigung des Logout Vorgangs erfolgt ein  Redirect auf die in diesem Parameter angegebene URL. Wird kein Parameter angegeben wird der Benutzer an die MOA-ID-Auth Instanz weitergeleitet.<br>
        <br>
      <strong>Hinweis:</strong> Wird eine URL angeben muss diese als Prefix identisch mit dem <a href="./../config/config.html#konfigurationsparameter_oa_general">eindeutigen Identifier der jeweiligen Online-Applikation</a> sein, </p></td>
    </tr>
</table>
<p>&nbsp;</p>
<p>Nachstehend ein Beispiel zur Verwendung dieses Services:</p>
<pre>https://demo.egiz.gv.at/moa-id-auth/LogOut?redirect=https://demo.egiz.gv.at/demoportal-openID_demo
</pre>
<p><strong>Hinweis:</strong> Dieses Service bietet jedoch NICHT eine vollst&auml;ndige Single Log-Out Funktionalit&auml;t wie sie im SAML 2 Protokoll vorgesehen ist, sondern beendet ausschlie&szlig;lich die SSO Session in der MOA-ID-Auth Instanz.</p>
<h4><a name="allgemeines_ssologout_slo" id="allgemeines_zugangspunkte25"></a>1.5.1 Single LogOut</h4>
<p>Ab der Version 2.1 unterst&uuml;tzt das Modul MOA-ID-Auth Single LogOut (SLO) laut SAML2 Spezifikation. Die SLO Funktionaltit&auml;t steht jedoch nur f&uuml;r Online-Applikationen zur Verf&uuml;gung welche als Authentifizierungsprotokoll PVP 2.1 verwenden. F&uuml;r alle anderen Authentifizierungsprotokolle steht aktuell kein SLO zur Verf&uuml;gung. </p>
<p>F&uuml;r Single LogOut stehen sowohl IDP initialisiertes SLO als auch Service Provider initialisiertes SLO zur Verf&uuml;gung. Als Einsprungpunkt f&uuml;r IDP initialisiertes SLO stellt das Modul MOA-ID-Auth folgende Web Adressen zur Verf&uuml;gung. Nach dem Aufruf dieses Services wird der Single LogOut Vorgang gestartet. Nach erfolgreicher Bearbeitung aller SLO Requests / Response erfolgt die Statusausgabe in den Browser.</p>
<pre>https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/idpSingleLogout</pre>
<p>bzw.</p>
<pre>http://&lt;host&gt;:&lt;port&gt;/moa-id-auth/idpSingleLogout</pre>
<p>&nbsp;</p>
<p>Die Endpunkte f&uuml;r Service Provider initialisietes SLO finden Sie in den <a href="#pvp21_metadata">PVP 2.1 Metadaten</a>.</p>
<p>&nbsp;</p>
<p><strong>Hinweis:</strong> Wenn Single Sign-On mit Authentifizierungsprotokollen, welche kein SLO unters&uuml;tzen verwendet wurde, schl&auml;gt der Single LogOut Vorgang auf jeden Fall fehl, da der Benutzer an den jeweiligen Online-Applikationen nicht angemeldet werden kann. Die SSO Session am Identityprovider wird jedoch auf jeden Fall beendet</p>
<p>&nbsp;</p>
<h3><a name="allgemeines_legacy" id="allgemeines_zugangspunkte4"></a>1.6 Legacy Request (B&uuml;rgerkartenauswahl beim Service Provider)</h3>
<p>Soll die B&uuml;rgerkartenauswahl jedoch weiterhin, wie aus MOA-ID 1.5.1 bekannt direkt in der Online-Applikation des Service Providers erfolgen muss f&uuml;r das jeweilige Protokoll der <a href="./../config/config.html#konfigurationsparameter_allgemein_protocol_legacy">Legacy Modus aktiviert</a> werden. Wird der Legacy Modus verwendet muss jedoch zus&auml;tzlich zu den protokollspezifischen Parametern mindestens der Parameter <em>bkuURI</em>, welcher die gew&auml;hlte B&uuml;rgerkartenumgebung enth&auml;lt, im Authentifizierungsrequest an MOA-ID-Auth &uuml;bergeben werden (siehe <a href="#saml1_startauth">Protokoll SAML 1</a>). Die folgenden Parameter stehen bei Verwendung des Legacy Modus unabh&auml;ngig vom verwendeten Protokoll zur Verf&uuml;gung und bilden den gesamten Umfang der B&uuml;rgerkartenauswahl, wie aus MOA-ID 1.5.1 bekannt, ab.</p>
<table class="configtable">
  <tbody>
    <tr>
      <th>Name</th>
      <th>Beispielwert</th>
      <th>Beschreibung</th>
    </tr>
    <tr>
      <td>bkuURI=&lt;bku-url&gt;</td>
      <td>https://127.0.0.1:3496/https-security-layer-request</td>
      <td><p>URL auf die B&uuml;rgerkartenumgebung, welche f&uuml;r die Authentifizierung der Benutzerin oder des Benutzers verwendet werden soll. F&uuml;r den Anmeldevorgang sind jedoch nur jene URLs auf B&uuml;rgerkartenumgebungen erlaubt die auch in der <a href="./../config/config.html#konfigurationsparameter_oa_bku">online-applikationsspezifischen Konfiguration als zu verwendende BKUs</a> eingetragen sind.</p>
      <p><strong>Hinweis:</strong> Wird dieser Parameter nicht &uuml;bertragen,   antwortet das Modul MOA-ID-Auth mit einem bei MOA-ID-Auth hinterlegten   <a href="./../config/config.html#import_template_bku">B&uuml;rgerkartentemplate</a>.</p></td>
    </tr>
    <tr>
      <td>Template=&lt;template-url&gt;</td>
      <td>https://demo.egiz.gv.at/moa-id-auth/template_onlineBKU.html</td>
      <td><strong>Optional:</strong> URL auf die HTML Vorlage f&uuml;r den   Security-Layer Request, welcher f&uuml;r die Kommunikation mit der   B&uuml;rgerkartenumgebung verwendet wird. Die URL muss in der   online-applikationsspezifischen Konfiguration von MOA-ID-Auth hinterlegt   werden (<a href="file:///D:/Projekte/svn/moa-id/moa-idspss/id/server/doc/handbook/config/config.html#konfigurationsparameter_oa_bku">siehe Parameter <em>SecurityLayerTemplates</em></a>).<br>
        Ist dieser Parameter nicht vorhanden, verwendet MOA-ID-Auth das f&uuml;r   diese Online-Applikation hinterlegten Security-Layer Template (<a href="file:///D:/Projekte/svn/moa-id/moa-idspss/id/server/doc/handbook/config/config.html#konfigurationsparameter_oa_bku">siehe Parameter <em>SecurityLayerTemplates</em></a>).</td>
    </tr>
    <tr>
      <td>useMandate=&lt;true/false&gt;</td>
      <td>true / false</td>
      <td><strong>Optional:</strong> Gibt an ob eine Anmeldung im Online-Vollmachten-Modus durchgef&uuml;hrt werden soll (=true) oder nicht (=false);</td>
    </tr>
    <tr>
      <td>CCC=&lt;ccc&gt;</td>
      <td>BE, SI, </td>
      <td><strong>Optional:</strong> Gibt an ob die Anmeldung mittels   STORK im angegebenen Land erfolgen soll. Die Angabe erfolgt mit dem   L&auml;ndercode (z.B.: PT, LU, ES, ...) des jeweiligen Landes.</td>
    </tr>
  </tbody>
</table>
<p>&nbsp;</p>
<p><strong>Hinweis:</strong> Bei einer vollst&auml;ndigen Neukonfiguration ist der Legacy Modus standardm&auml;&szlig;ig f&uuml;r alle Protokolle deaktiviert.</p>
<p><strong>Hinweis:</strong> Bei der Verwendung des Legacy Request f&uuml;r die B&uuml;rgerkartenauswahl ist jedoch zu beachten dass im Falle einer aktiven Single Sign-On Session, MOA-ID-Auth mit einer Abfrage zum SSO Anmeldevorgang antwortet.</p>
<h2><a name="pvp21"></a>2 PVP 2.1</h2>
<p>Die PVP 2.1 Implementierung des Modules MOA-ID-Auth bezieht sich auf das <a href="#referenzierte_spezifikation">S-Profil der PVP 2 Spezifikation</a>. Das S - Profil von PVP 2 verwendet SAML WebSSO f&uuml;r die Authentifizierung von Benutzern mit Webbrowser. Dadurch wird die direkte Kommunikation des Browsers mit der Anwendung erm&ouml;glicht, was in Anwendungsf&auml;llen notwendig ist, wo Anwendungen nicht kompatibel mit dem Reverse - Proxy - Verfahren sind, datenschutzrechtliche Probleme bestehen oder SAML WebSSO als Industriestandard unterst&uuml;tzt werden soll.</p>
<p>Bevor PVP 2.1 als Authentifizierungsprotokoll verwendet werden kann muss das Modul MOA-ID-Auth entsprechend konfiguriert werden. Detailinformationen zur Konfiguration finden Sie <a href="../config/config.html">hier</a>.</p>
<h3><a name="pvp21_sequenz" id="pvp21_sequenz"></a>2.1 Ablauf einer Anmeldung mittels PVP 2.1</h3>
<p>Die nachfolgende Abbildung zeigt das Sequenzdiagramm eines Anmeldevorgangs mittels PVP 2.1 und des Modules MOA-ID-Auth als Identity  Provider. Aus Gr&uuml;nden der &Uuml;bersichtlichkeit wurden die Teile welche die Kommunikation mit der B&uuml;rgerkartenumgebung oder die Vollmachten-Auswahl betreffen bewusst nicht ber&uuml;cksichtigt.</p>
<p><img src="pvp21_sequence.png" width="968" height="687" alt="Sequenzdiagramm PVP 2.1"></p>
<ol>
  <li>Der Benutzer verbindet sich zu einem Web-Portal (Service Provider) &uuml;ber das die Online-Applikation erreichbar ist. Nach der Bet&auml;tigung eines Login-Buttons wird der Anmeldevorgang ausgel&ouml;st.</li>
  <li>Der Service Provider holt die Metadaten des Identity Providers am Modul MOA-ID-Auth ab und validiert die Signatur der Metadaten mit dem am Service Provider hinterlegten Zertifikat. Ist die Validierung erfolgt wird der Anmeldevorgang fortgesetzt.</li>
  <li>Der Service Provider  extrahiert Informationen aus den Metadaten und generiert einen Authentifizierungsrequest und sendet diesen &uuml;ber den Browser an das Modul MOA-ID-Auth.</li>
  <li>MOA-ID Auth holt die Metadaten des Service Providers und validiert die Signatur der Metadaten mit dem in der MOA-ID-Auth Konfiguration f&uuml;r diesen Service Provider (Online-Applikation) hinterlegten Zertifikat. Ist die Validierung erfolgreich wird der Anmeldevorgang vorgesetzt.</li>
  <li>MOA-ID-Auth validiert den Authentifizierungsrequest mit den Informationen aus dem Metadaten des Service Providers. Ist die Validierung erfolgreich wird der Anmeldevorgang vorgesetzt.</li>
  <li>MOA-ID-Auth leitet die Benutzerin oder den Benutzer zur B&uuml;rgerkartenauswahl.
    <ol>
      <li>Die Benutzerin oder der Benutzer Authentifiziert sich mit der gew&auml;hlten Methode.</li>
    </ol>
  </li>
  <li>War die Authentifizierung der Benutzerin oder des Benutzers erfolgreich generiert MOA-ID-Auth die Assertion mit den Anmeldedaten des Benutzers.</li>
  <li>MOA-ID-Auth senden die Assertion &uuml;ber den Browser an den Service Provider.</li>
  <li>Der Service Provider validiert die Assertion mit den Informationen aus den Metadaten des Modules MOA-ID-Auth.
    <ol>
      <li>Ist die Validierung erfolgreich wird die Benutzerin oder der Benutzer an der Online-Applikation angemeldet.</li>
    </ol>
  </li>
</ol>
<h3><a name="pvp21_metadata" id="pvp21_metadata"></a>2.2 Metadaten</h3>
<p>Das Modul MOA-ID-Auth stellt f&uuml;r Service-Provider (Online-Applikationen) Metadaten bereit welche alle PVP 2.1 spezifischen Informationen der MOA-ID-Auth Instanz beinhalten. Diese Metadaten werden durch das Modul MOA-ID-Auth signiert, wodurch Service Provider die Authentizit&auml;t der Metadaten verifizieren k&ouml;nnen. Ein Beispiel f&uuml;r Metadaten von MOA-ID-Auth finden sie <a href="#idp_metadata.xml">hier</a>. Die aktuellen Metadaten zu Ihrer MOA-ID-Auth Instanz k&ouml;nnen unter folgender URL abgerufen werden.</p>
<pre>http://&lt;host&gt;:&lt;port&gt;/moa-id-auth/pvp2/metadata
</pre>
<p>bzw. </p>
<pre>
https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/pvp2/metadata
</pre>
<p><strong>Hinweis:</strong> Ist die deployed MOA-ID Instanz f&uuml;r mehrere virtuelle IDPs konfiguriert, so k&ouml;nnen die Metadaten f&uuml;r die jeweiligen virutellen Entities &uuml;ber den PublicURLPrefix der jeweiligen virtuellen Instanz abgerufen werden. Z.B. https://aaa.com/moa-id-auth/pvp2/metadata f&uuml;r virtuellen IDP aaa.com oder https://bbb.com/moa-id-auth/pvp2/metadata f&uuml;r virtuellen IDP bbb.com</p>
<p>Wollen Sie f&uuml;r Ihre Online-Applikation PVP 2.1 als Authentifizierungsprotokoll nutzen m&uuml;ssen f&uuml;r jede Online-Applikation Metadaten erstellt und durch den Service Provider signiert werden. Zus&auml;tzlich muss die URL auf die Metadaten und das entsprechende Signaturzertifikat zur Pr&uuml;fung der Signatur in der online-applikationsspezifischen <a href="../config/config.html#konfigurationsparameter_oa_protocol_pvp21">PVP 2.1 Konfiguration</a> von MOA-ID-Auth hinterlegt sein. Ein Beispiel f&uuml;r online-applikationsspezifische Metadaten finden Sie <a href="serviceprovider_metadata.xml">hier</a>.</p>
<p>Die nachfolgenden Anforderungen an die online-applikationsspezifischen Metadaten .</p>
<ul>
  <li>Das XML Attribut <code>entityID</code> im Element <code>md:EntitiesDescriptor/md:EntityDescriptor</code> (siehe <a href="./serviceprovider_metadata.xml">Beispiel</a>) den <a href="../config/config.html#konfigurationsparameter_oa_general">eindeutigen Identifier</a> enth&auml;lt der f&uuml;r diese Online-Applikation bei MOA-ID-Auth hinterlegt ist. </li>
  <li>Die Metadaten m&uuml;ssen ein Zertifikat zur Pr&uuml;fung der Signatur am Authentifizierungsrequest beinhalten. Hierf&uuml;r muss das XML Element <code>md:EntitiesDescriptor/md:EntityDescriptormd:SPSSODescriptor/md:KeyDescriptor</code> mit dem Attribut <code>use=&quot;signing&quot;</code> vorhanden sein (siehe <a href="./serviceprovider_metadata.xml">Beispiel</a>).</li>
  <li>Die Metadaten m&uuml;ssen mindestens ein XML Element<br>
<code>md:EntitiesDescriptor/md:EntityDescriptormd:SPSSODescriptor/md:AssertionConsumerService</code> enthalten welches das gew&uuml;nschte Binding und die URL zur Auslieferung der Assertion beinhaltet. </li>
  <li>Werden zus&auml;tzlich zum bereichsspezifischen Personenkennzeichen (bPK / wbPK) weitere <a href="#allgemeines_attribute">Attribute</a> durch den Service Provider ben&ouml;tigt m&uuml;ssen diese &uuml;ber die Metadaten angefordert werden. <br>
  Hierf&uuml;r steht das Element <code>md:EntitiesDescriptor/md:EntityDescriptormd:SPSSODescriptor/md:AttributeConsumingService</code> zur Verf&uuml;gung wobei die als Kindelemente  <code>md:RequestedAttribute </code>die einzelnen ben&ouml;tigten Attribute definieren (siehe <a href="./serviceprovider_metadata.xml">Beispiel</a>).</li>
</ul>
<p>Zus&auml;tzlich unterst&uuml;tzt das Modul MOA-ID-Auth auch die Verschl&uuml;sselung PVP 2.1 Assertion mit einem vom Service-Provider definierten Zertifikat. Um diese Funktion zu nutzen muss in den Metadaten ein zweites XML Element <code>md:EntitiesDescriptor/md:EntityDescriptormd:SPSSODescriptor/md:KeyDescriptor</code> mit dem Attribut <code>use=&quot;encryption&quot;</code> vorhanden sein (siehe <a href="./serviceprovider_metadata.xml">Beispiel</a>). In diesem Fall verwendet das Modul MOA-ID-Auth, dass in diesem Element hinterlegte Zertifikat zur Verschl&uuml;sselung der PVP 2.1 Assertion.</p>
<p><strong>Hinweis:</strong> Fehlt im XML Element <code>md:EntitiesDescriptor/md:EntityDescriptormd:SPSSODescriptor/md:KeyDescriptor</code> das Attribut <code>use</code> wird das in diesem Element hinterlegte Zertifikat sowohl zur Pr&uuml;fung der Signatur des Authentifizierungsrequest als auch zur Verschl&uuml;sselung der PVP 2.1 Assertion verwendet.</p>
<h3><a name="pvp21_binding" id="pvp21_binding"></a>2.3 Zugangspunkte</h3>
<p>F&uuml;r die Kommunikation zwischen Service Provider und dem Modul MOA-ID-Auth stellt MOA-ID-Auth aktuell zwei PVP 2.1 spezifische Zugangspunkte zur Verf&uuml;gung. Detailinformationen zu den beiden Zugangspunkten (Bindings) entnehmen finden Sie in der <a href="#referenzierte_spezifikation">SAML2 Spezifikation</a>. </p>
<ul>
  <li><strong>POST Binding</strong>: In diesem Fall erfolgt die &Uuml;bertragung mittels http POST. Hierf&uuml;r stellt MOA-ID-Auth den folgenden Zugangspunkt zur Verf&uuml;gung.</li>
</ul>
<pre>https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/pvp2/post</pre>
<ul>
  <li><strong>Redirect Binding</strong>: In diesem Fall erfolgt die &Uuml;bertragung mittels eines Redirects wobei die Daten als GET Parameter in der URL enthalten sind. Hierf&uuml;r stellt MOA-ID-Auth den folgenden Zugangspunkt zur Verf&uuml;gung.</li>
</ul>
<pre>https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/pvp2/redirect</pre>
<p><strong>Hinweis:</strong> Die Zugangspunkte k&ouml;nnen auch direkt aus den von MOA-ID-Auth generierten Metadaten entnommen werden.</p>
<h4><a name="pvp21_binding_request" id="pvp21_binding2"></a>2.3.1 Authentifizierungsrequest</h4>
<p>Der Authentifizierungsrequest wird vom Service Provider erstellt und an das Modul MOA-ID-Auth &uuml;bermittelt. Zur &Uuml;bertragung, muss je nach verwendetem Binding, einer der beiden <a href="#pvp21_binding">Zugangspunkte</a> und die entsprechende Kodierung der Parameter verwendet werden.</p>
<p>Folgende Minimalanforderungen an den Authentifizierungsrequest m&uuml;ssen erf&uuml;llt sein.</p>
<ul>
  <li>Der Request muss durch den Service Provider signiert sein (siehe <a href="AuthRequest.xml">Beispiel</a>). Die Signatur wird durch das Modul MOA-ID-Auth mit Hilfe des in den <a href="#pvp21_metadata">Metadaten hinterlegten Zertifikats</a> validiert. Schl&auml;gt die Signaturpr&uuml;fung fehl oder ist keine Signatur vorhanden wird der Request abgewiesen und MOA-ID-Auth antwortet mit http Code <em>400</em> und der Fehlermeldung <em>NO valid protocol request received!</em>.</li>
  <li>
    <table class="configtable">
      <tr>
        <td>Name</td>
        <td ><code>saml2p:AuthnRequest/saml2:Issuer</code></td>
      </tr>
      <tr>
        <td> Gebrauch</td>
        <td>Ein Mal</td>
      </tr>
      <tr>
        <td>Erl&auml;uterung</td>
        <td><p>Der Wert dieses Elements muss den <a href="../config/config.html#konfigurationsparameter_oa_general">eindeutigen Identifier</a> enthalten der f&uuml;r diese Online-Applikation bei MOA-ID-Auth hinterlegt ist (siehe <a href="AuthRequest.xml">Beispiel</a>).</p></td>
      </tr>
    </table>
  </li>
  <li>
    <table class="configtable">
      <tr>
        <td width="8%">Name</td>
        <td width="92%"><code>/saml2p:AuthnRequest/@ID</code></td>
      </tr>
      <tr>
        <td> Gebrauch</td>
        <td>Ein Mal</td>
      </tr>
      <tr>
        <td>Erl&auml;uterung</td>
        <td><p>Dieses Attribut beinhaltet einen vom Service Provider generierten Identifikator f&uuml;r diesen Authentifizierungsrequest.</p></td>
      </tr>
    </table>
  </li>
</ul>
<p>Einen Beispielrequest finden Sie <a href="AuthRequest.xml">hier</a>.</p>
<p><strong>Hinweis:</strong> Detailinformationen finden Sie im Abschnitt <a href="#referenzierte_spezifikation">Spezifikationen</a> in der PVP 2.1 Spezifikation und der SAML2 Spezifikation.</p>
<h4><a name="pvp21_binding_response" id="pvp21_binding3"></a>2.3.2 Authentifizierungsresponse</h4>
<p>Nach erfolgreicher Authentifizierung antwortet das Modul MOA-ID-Auth mit einer PVP 2.1 Assertion. Zur &Uuml;bertragung der Assertion erfolgt an das in den Metadaten der Online-Applikation angegebene <em>AssertionConsumerService</em> (siehe <a href="#pvp21_metadata">Metadaten</a>).</p>
<p>Aktuell werden vom Modul MOA-ID-Auth zwei Bindings zur &Uuml;bertragung der Assertion unterst&uuml;tzt.</p>
<ul>
  <li><strong>POST Binding</strong>: In diesem Fall erfolgt die &Uuml;bertragung mittels eines http POST Formulars welches aus dem Browser der Benutzerin oder des Benutzers an den Service Provider gesendet wird..</li>
</ul>
<ul>
  <li><strong>Redirect Binding</strong>: In diesem Fall erfolgt die &Uuml;bertragung mittels eines Redirects wobei die Daten als GET Parameter in der URL enthalten sind.</li>
</ul>
<p>Der Inhalt der Assertion unterscheidet sich je nachdem welche Attribute in den Metadaten angefordert wurden und ob w&auml;hrend des Anmeldevorgangs ein Fehler aufgetreten ist. Die nachfolgende Aufstellung gibt eine &Uuml;bersicht &uuml;ber jede Elemente die in der Assertion enthalten sind, wenn keine zus&auml;tzlichen Attribute angefordert wurden. Diese Aufstellung beschreibt jedoch nur einige markante Elemente und ist somit nicht vollst&auml;ndig. Detailinformationen zu allen Elementen und Attributen finden Sie in der PVP 2.1 oder der SAML2 Spezifikation. Eine Beispielresponse finden Sie <a href="./Assertion.xml">hier</a>. </p>
<table  border="1" cellpadding="2" class="fixedWidth">
  <tr>
    <td width="8%">Name</td>
    <td width="92%"><code>/saml2p:Response/ds:Signature</code></td>
  </tr>
  <tr>
    <td> Gebrauch</td>
    <td>Ein Mal</td>
  </tr>
  <tr>
    <td>Erl&auml;uterung</td>
    <td><p>Dieses Element enth&auml;lt die Signatur, mit welchem die Assertion vom Modul MOA-ID-Auth unterschieben wurde. Das Zertifikat zur Pr&uuml;fung der Signatur wird in den Metadaten des Modules MOA-ID-Auth bereitgestellt.</p></td>
  </tr>
</table>
<table  border="1" cellpadding="2" class="fixedWidth">
  <tr>
    <td width="8%">Name</td>
    <td width="92%"><code>/saml2p:Response/saml2p:Status/saml2p:StatusCode</code></td>
  </tr>
  <tr>
    <td> Gebrauch</td>
    <td>Ein Mal</td>
  </tr>
  <tr>
    <td>Erl&auml;uterung</td>
    <td><p>Dieses Element beinhaltet als Attribut den Status Code des Anmeldevorgangs. Nachfolgend die wichtigsten Statuscodes und eine kurze Beschreibung.</p>
      <ul>
        <li><em>urn:oasis:names:tc:SAML:2.0:status:Success</em>: Der Anmeldevorgang konnte Erfolgreich durchgef&uuml;hrt werden. </li>
        <li><em>urn:oasis:names:tc:SAML:2.0:status:Responder</em>: W&auml;hrend des Anmeldevorgangs ist ein Fehler aufgetreten. Das Element <code>/saml2p:Response/saml2p:Status/saml2p:StatusCode</code><code>/saml2p:StatusCode</code>  beinhaltet einen MOA-ID-Auth Fehlercode (siehe <a href="#statuscodes">Kapitel 1.3</a>). Zus&auml;tzlich beinhaltet der Wert dieses Elements jedoch eine kurze Fehlerbeschreibung.</li>
        <li><em>urn:oasis:names:tc:SAML:2.0:status:NoPassive</em>: Die Benutzerin oder der Benutzer ist aktuell keine aktive und g&uuml;ltige Single Sign-On Session mit MOA-ID-Auth. N&auml;here Details zum <em>isPassiv</em> Authentifizierungsrequest finden Sie in der PVP 2.1 oder der SAML2 Spezifikation.</li>
        <li><em>urn:oasis:names:tc:SAML:2.0:status:Requester</em>: Der Authentifizierungsrequest konnte nicht erfolgreich validiert werden.</li>
      </ul>
    <p><strong>Hinweis:</strong> Eine vollst&auml;ndige Aufstellung aller m&ouml;glichen SAML2 spezifischen Statuscodes finden Sie in der SAML2 Spezifikation.</p></td>
  </tr>
</table>
<table  border="1" cellpadding="2" class="fixedWidth">
  <tr>
    <td width="8%">Name</td>
    <td width="92%"><code>/saml2p:Response/saml2:Assertion/saml2:Subject/saml2:NameID</code></td>
  </tr>
  <tr>
    <td> Gebrauch</td>
    <td>Ein Mal</td>
  </tr>
  <tr>
    <td>Erl&auml;uterung</td>
    <td><p>Dieses Element beinhaltet das bereichsspezifischen Personenkennzeichen (bPK / wbPK) der authentifizierten Person.</p></td>
  </tr>
</table>
<table  border="1" cellpadding="2" class="fixedWidth">
  <tr>
    <td width="8%">Name</td>
    <td width="92%"><code>/saml2p:Response/saml2:Assertion/saml2:Subject/saml2:NameID/@NameQualifier</code></td>
  </tr>
  <tr>
    <td> Gebrauch</td>
    <td>Ein Mal</td>
  </tr>
  <tr>
    <td>Erl&auml;uterung</td>
    <td><p>Dieses Attribut beinhaltet den Bereich des bereichsspezifischen Personenkennzeichens (bPK / wbPK)</p></td>
  </tr>
</table>
<table  border="1" cellpadding="2" class="fixedWidth">
  <tr>
    <td width="8%">Name</td>
    <td width="92%"><code>/saml2p:Response/saml2:Assertion/saml2:Subject/saml2:SubjectConfirmation/saml2:SubjectConfirmationData/@InResponseTo</code></td>
  </tr>
  <tr>
    <td> Gebrauch</td>
    <td>Ein Mal</td>
  </tr>
  <tr>
    <td>Erl&auml;uterung</td>
    <td><p>Dieses Attribut beinhaltet den vom Service Provider im Authentifizierungsrequest generierten Identifikator.</p></td>
  </tr>
</table>
<table  border="1" cellpadding="2" class="fixedWidth">
  <tr>
    <td width="8%">Name</td>
    <td width="92%"><code>/saml2p:Response/saml2:Assertion/saml2:Subject/saml2:SubjectConfirmation/saml2:SubjectConfirmationData/@NotOnOrAfter</code></td>
  </tr>
  <tr>
    <td> Gebrauch</td>
    <td>Ein Mal</td>
  </tr>
  <tr>
    <td>Erl&auml;uterung</td>
    <td><p>Dieses Attribut beinhaltet einen von MOA-ID-Auth ausgestellten G&uuml;ltigkeitszeitraum f&uuml;r diese Assertion. Aktuell betr&auml;gt der G&uuml;ltigkeitszeitraum f&uuml;nf Minuten ab dem Ausstellzeitpunkt.</p></td>
  </tr>
</table>
<h2><a name="openid"></a>3 OpenID Connect </h2>
<p>OpenID Connect ist ein Authentifizierungsprotokoll welches auf dem OAuth 2.0 Protokoll aufbaut. Dieses Protokoll erlaubt Online-Applikationen die Identifizierung und Authentifizierung von Benutzern, mit Hilfe des Modules MOA-ID-Auth. Der Vorteil von OpenID Connect im Vergleich zu auf SAML basierten Protokollen (PVP 2.1, SAML 1) ist der einfachere Aufbau der einzelnen Protokollnachrichten. Zusätzlich existieren einige frei Verfügbare Bibliotheken für unterschiedliche Programmiersprachen, welche OpenID Connect implementieren.</p>
<p>Bevor OpenID Connect in Kombination mit dem Modul MOA-ID-Auth verwendet werden kann muss das Modul MOA-ID-Auth konfiguriert werden. Detailinformationen zur <a href="./../config/config.html#basisconfig_moa_id_auth_param_protocol_openid" >Allgemeinen Konfiguration</a> und zur <a href="./../config/config.html#konfigurationsparameter_oa_protocol_openIDConnect">online-applikationsspezifischen Konfiguration</a> finden Sie im jeweiligen Abschnitt des Kapitels Konfiguration.</p>
<p>Die nachfolgende Beschreibung gibt einen kurzen Überblick zur Verwendung des Protokolls OpenID Connect in Kombination mit dem Modul MOA-ID-Auth. Detailinformationen zu OpenID Connect entnehmen Sie bitte der aktuellen <a href="#referenzierte_spezifikation">OpenID Connect Spezifikation</a></p>

<h3><a name="openid_sequenzdiagramm"></a>3.1 Ablauf einer Anmeldung mittels OpenID Connect</h3>
<p>Die nachfolgende Abbildung zeigt das Sequenzdiagramm eines Anmeldevorgangs mittels OpenID Connect und des Modules MOA-ID-Auth als Identity Provider. Aus Gründen der Übersichtlichkeit wurden die Teile welche die Kommunikation mit der Bürgerkartenumgebung oder die Vollmachten-Auswahl betreffen bewusst nicht berücksichtigt.</p>

<p><img src="openIDconnect_sequenz.png" width="1138" height="705" alt="Sequenzdiagramm OpenID Connect"></p>
<ol>
  <li>Der Benutzer verbindet sich zu einem Web-Portal (Service Provider) &uuml;ber das die Online-Applikation erreichbar ist. Nach der Bet&auml;tigung eines Login-Buttons wird der Anmeldevorgang ausgel&ouml;st.</li>
  <li>Der Service Provider generiert den <a href="#openid_req_authnreq">AuthCode Request</a> und sendet diesen &uuml;ber den Browser an das Modul MOA-ID-Auth.</li>
  <li>MOA-ID-Auth validiert den AuthCode Request.</li>
  <li>MOA-ID-Auth leitet die Benutzerin oder den Benutzer zur B&uuml;rgerkartenauswahl
    <ol>
      <li>Die Benutzerin oder der Benutzer Authentifiziert sich mit der gew&auml;hlten Methode.</li>
    </ol>
  </li>
  <li>Nach erfolgreicher Authentifizierung erzeugt MOA-ID-Auth die <a href="#openid_req_authnresp">AuthCode Response</a>.
    <ol>
      <li>Die AuthCode Response wird mittels Redirect an den Service Provider retourniert.</li>
    </ol>
  </li>
  <li>Der Service Provider validiert die AuthCode Response.</li>
  <li>Der Service Provider generiert den <a href="#openid_req_tokenreq">AccessToken Request</a> und sendet diesen an MOA-ID-Auth zum Abholen der Benutzerdaten.</li>
  <li>MOA-ID-Auth validiert den AccessToken Request</li>
  <li>MOA-ID-Auth generiert die <a href="#openid_req_tokenresp">AccessToken Response</a>
    <ol>
      <li>Retournierung der AccessToken Response an den Service Provider</li>
    </ol>
  </li>
  <li>Validieren der AccessToken Response
    <ol>
      <li>Wird die Validierung g&uuml;ltig abgeschlossen kann die Benutzerin oder der Benutzer am Service Provider angemeldet werden.</li>
    </ol>
  </li>
</ol>
<h3><a name="openid_interface"></a>3.2 Zugangspunkte</h3>
<p>Zur Verwendung von OpenID Connect stellt das Modul MOA-ID-Auth zwei Zugangspunkte zur Kommunikation mit der Online-Applikation zur Verfügung. Diese Zugangspunkte bezeichnen die URLs unter welchen das Modul MOA-ID-Auth die entsprechenden OpenID Connect Nachrichten entgegennimmt.</p>
<ul>
  <li><b>AuthCode-Request:</b> <em>https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/oauth3/auth</em><br> Unter dieser URL wird der Authn Request entgegengenommen. Dieser Request startet den Authentifizierungsvorgang an der Online-Applikation. Hier finden Sie Detailinformationen zum <a href="#openid_req_authnreq"> Request </a>und zur <a href="#openid_req_authnresp">Response</a>.</li>
  <li><b>AccessToken-Request:</b> <em>https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/oauth3/token</em><br> Unter dieser URL können nach erfolgreicher Authentifizierung die eigentlichen Authentifizierungsdaten am Modul MOA-ID-Auth abgeholt werden. Hier finden Sie Detailinformationen zum <a href="#openid_req_tokenreq"> Request </a>und zur <a href="#openid_req_tokenresp">Response</a>.</li>
</ul>
<h3><a name="openid_requests"></a>3.3 Beschreibung der Nachrichten</h3>
<p>Dieser Abschnitt beschreibt die einzelnen OpenID Connect spezifischen Nachrichten, welche zwischen der Online-Applikation und dem Modul MOA-ID-Auth während eines Authentifizierungsvorgangs ausgetauscht werden. Hierbei wird auch auf das Sequenzdiagramm aus <a href="#openid_sequenzdiagramm">Abschnitt 3.1</a> Bezug genommen.</p>

<h4><a name="openid_req_authnreq"></a>3.2.1 AuthCode Request</h4>
<p>Der AuthCode Request ist die Authentifizierungsanfrage einer Online-Applikation für eine Benutzerin oder einen Benutzer.
Folgende Parameter müssen mit dem AuthCode-Request mitgesendet werden, wobei für die Übertragung der Parameter sowohl http GET als auch http POST verwendet werden kann.</p>
<table class="configtable">
  <tr>
    <th>Name</th>
    <th>Beispielwert</th>
    <th>Beschreibung</th>
  </tr>
  <tr>
    <td>client_id</td>
    <td>https://demo.egiz.gv.at/demoportal-openID_demo</td>
    <td>Ist der eindeutige Identifikator f&uuml;r die Online-Applikation. Dieser MUSS mit dem <a href="../config/config.html#konfigurationsparameter_oa_protocol_openIDConnect">Identifikator aus der Konfiguration</a> identisch sein.</td>
  </tr>
  <tr>
    <td>response_type</td>
    <td>code</td>
    <td><p>R&uuml;ckgabewert des AuthCode Requests.</p>
      <strong>Hinweis:</strong> Dieser Wert MUSS &quot;code&quot; sein.</td>
  </tr>
  <tr>
    <td>redirect_uri</td>
    <td>https://demo.egiz.gv.at/demoportal-openID_demo/securearea.action</td>
    <td>Die Callback-URI der Online-Applikation zu welcher die Callbacks der OAuth 2.0 Request gesendet werden. Dieser MUSS mit der<a href="../config/config.html#konfigurationsparameter_oa_protocol_openIDConnect"> Redirect URL aus der Konfiguration</a> identisch sein.</td>
  </tr>
  <tr>
    <td>state</td>
    <td>1425782214234</td>
    <td>Ein von der Online-Applikation generierter Wert welcher in beiden Requests (<a href="#openid_req_authnreq">AuthCode</a> und <a href="#openid_req_tokenreq">Token</a>) gleich sein muss (ein CSRF Token) </td>
  </tr>
  <tr>
    <td>scope</td>
    <td>openID profile eID</td>
    <td><p>Definiert welche Authentifizierungsinformationen an die Online-Applikation zur&uuml;ckgeliefert werden. </p>
    <p>M&ouml;gliche Werte sind: <em>openId, profile,  eID,  eID_gov,  mandate,  stork</em> wobei die Werte mittels Leerzeichen kombiniert werden k&ouml;nnen. Der Wert <em>openID</em> muss immer angegeben werden. Der Inhalt der einzelnen Profile, mit Ausnahme des Profiles <em>openID</em>, kann aus der <a href="#allgemeines_attribute">&Uuml;bersicht der m&ouml;glichen Attribute</a> entnommen werden. </p>
    <ul>
      <li>openID:
        <ul>
          <li>bpk --&gt; Bereichsspezifisches Kennzeichen (bPK / wbPK)</li>
          <li>iss --&gt; Public URP Prefix der MOA-ID Instanz</li>
          <li>exp --&gt; Zeitliche G&uuml;ltigkeit</li>
          <li>iat --&gt; Ausstellungszeitpunkt</li>
          <li>auth_time --&gt; Authentifizierungszeitpunkt</li>
        </ul>
      </li>
    </ul></td>
  </tr>
</table>
<p>&nbsp;</p>
<p>Nachfolgend ein Beispiel f&uuml;r einen OpenID Connect Authentifizierungsrequest an das Modul MOA-ID-Auth.</p>
<pre>&lt;form method=&quot;get&quot; action=&quot;https://demo.egiz.gv.at/demoportal_moaid-2.0/oauth3/auth&quot;&gt;
  &lt;input type=&quot;hidden&quot; value=&quot;code&quot; name=&quot;response_type&quot;&gt;
  &lt;input type=&quot;hidden&quot; value=&quot;https://demo.egiz.gv.at/demoportal-openID_demo&quot; name=&quot;client_id&quot;&gt;
  &lt;input type=&quot;hidden&quot; value=&quot;https://demo.egiz.gv.at/demoportal-openID_demo/securearea.action&quot; name=&quot;redirect_uri&quot;&gt;
  &lt;input type=&quot;hidden&quot; value=&quot;profile eID eID_gov mandate&quot; name=&quot;scope&quot;&gt; 
  &lt;input type=&quot;hidden&quot; value=&quot;1152547590&quot; name=&quot;state&quot;&gt;
  &lt;input type=&quot;submit&quot; value=&quot;OpenID Connect login&quot;&gt;
&lt;/form&gt;</pre>
<h4><a name="openid_req_authnresp"></a>3.2.2 AuthCode Response</h4>
<p>Das Ergebnis des AuthCode Requests wird an die <em>redirect_uri</em> der Online-Applikation gesendet. Die nachfolgenden Parameter werden dabei &uuml;bergeben.</p>
<table class="configtable">
  <tr>
    <th>Name</th>
    <th>Beispielwert</th>
    <th>Beschreibung</th>
  </tr>
  <tr>
    <td>state</td>
    <td>1425782214234</td>
    <td>Der von der Online-Applikation generierte und im AuthCode Request &uuml;bergebene CSRF Token.</td>
  </tr>
  <tr>
    <td>code</td>
    <td>4/P7q7W91a-oMsCeLvIaQm6bTrgtp7 </td>
    <td><p>Ein vom Modul MOA-ID-Auth generierter Wert, welcher beim Abholen des AccessTokens (AccessToken Request) wieder an MOA-ID-Auth &uuml;bergeben werden muss.</p></td>
  </tr>
</table>
<p>&nbsp;</p>
<p>Nachfolgend ein Beispiel f&uuml;r eine AuthCode Response.</p>
<pre>https://demo.egiz.gv.at/demoportal-openID_demo/securearea.action?state=1425782214234&amp;code=4/P7q7W91a-oMsCeLvIaQm6bTrgtp7 </pre>
<h4><a name="openid_req_tokenreq"></a>3.2.3 AccessToken Request</h4>
<p>Mit dem AccessToken Request k&ouml;nnen vom Service Provider der Online-Applikation die Anmeldedaten an der MOA-ID-Auth Instanz abgeholt werden. F&uuml;r die Abholung m&uuml;ssen folgende Parameter mit dem AccessToken Request an MOA-ID-Auth &uuml;bertragen werden, wobei f&uuml;r die &Uuml;bertragung der Parameter sowohl http GET als auch http POST verwendet werden kann.</p>
<table class="configtable">
  <tr>
    <th>Name</th>
    <th>Beispielwert</th>
    <th>Beschreibung</th>
  </tr>
  <tr>
    <td>grant_type</td>
    <td>authorization_code</td>
    <td>Dieser MUSS den Wert &bdquo;authorization_code&ldquo; besitzen.</td>
  </tr>
  <tr>
    <td>code</td>
    <td>4/P7q7W91a-oMsCeLvIaQm6bTrgtp7</td>
    <td><p>Dieser Parameter wird in der <a href="#openid_req_authnresp">AuthCode Response</a> an die Online-Applikation (Service Provider) &uuml;bertragen und muss in diesem Request wieder &uuml;bermittelt werden.</p></td>
  </tr>
  <tr>
    <td>redirect_uri</td>
    <td>https://demo.egiz.gv.at/demoportal-openID_demo/securearea.action</td>
    <td>Die Callback-URI der Online-Applikation zu welcher die Callbacks der OAuth 2.0 Request gesendet werden. Dieser MUSS mit der<a href="../config/config.html#konfigurationsparameter_oa_protocol_openIDConnect"> Redirect URL aus der Konfiguration</a> identisch sein.</td>
  </tr>
  <tr>
    <td>client_id</td>
    <td>https://demo.egiz.gv.at/demoportal-openID_demo</td>
    <td>Ist der eindeutige Identifikator f&uuml;r die Online-Applikation. Dieser MUSS mit dem<a href="../config/config.html#konfigurationsparameter_oa_protocol_openIDConnect"> Identifikator aus der Konfiguration</a> identisch sein.</td>
  </tr>
  <tr>
    <td>client_secret</td>
    <td>0adf1ec7-c2a6-4fd3-897c-456d0fb7b5cc</td>
    <td>Das Client Password der Online-Applikation. Dieses MUSS mit dem <a href="../config/config.html#konfigurationsparameter_oa_protocol_openIDConnect">Client Password aus der Konfiguration</a> identisch sein.</td>
  </tr>
</table>
<p>&nbsp;</p>
<p>Nachfolgend ein Beispiel f&uuml;r einen AccessToken Request</p>
<pre>&lt;form method=&quot;POST&quot; action=&quot;https://demo.egiz.gv.at/demoportal_moaid-2.0/oauth3/token&quot;&gt;
  &lt;input type=&quot;hidden&quot; value=&quot;authorization_code&quot; name=&quot;grant_type&quot;&gt;
  &lt;input type=&quot;hidden&quot; value=&quot;https://demo.egiz.gv.at/demoportal-openID_demo&quot; name=&quot;client_id&quot;&gt;
  &lt;input type=&quot;hidden&quot; value=&quot;https://demo.egiz.gv.at/demoportal-openID_demo/securearea.action&quot; name=&quot;redirect_uri&quot;&gt;
  &lt;input type=&quot;hidden&quot; value=&quot;0adf1ec7-c2a6-4fd3-897c-456d0fb7b5cc&quot; name=&quot;client_secret&quot;&gt; 
  &lt;input type=&quot;hidden&quot; value=&quot;4/P7q7W91a-oMsCeLvIaQm6bTrgtp7&quot; name=&quot;code&quot;&gt;
&lt;/form&gt;</pre>

<h4><a name="openid_req_tokenresp"></a>3.2.4 AccessToken Response</h4>



<p>Die AccessToken Response beinhaltet ein signiertes JSON-Token welches alle angeforderten (Parameter <em>scope</em> im AuthCode Request) und vorhandenen Authentifizierungsdaten beinhaltet. Dieses JSON-Token ist mit einer JSON Web Signatur von MOA-ID-Auth signiert, wobei die Signatur alle angeforderten Daten einschlie&szlig;t. Details zur Konfiguration des Signatur Zertifikats finden Sie <a href="../config/config.html#basisconfig_moa_id_auth_param_protocol_openid">hier</a>. </p>
<table class="configtable">
  <tr>
    <th>Name</th>
    <th>Beispielwert</th>
    <th>Beschreibung</th>
  </tr>
  <tr>
    <td>access_token</td>
    <td>SlAV32hkKG</td>
    <td><p>Ein AccessToken welches f&uuml;r eine anschlie&szlig;ende Kommunikation mit MOA-ID-Auth verwendet werden kann. </p>
    <p><strong>Hinweis:</strong> Diese Funktion wird jedoch aktuell nicht unterst&uuml;tzt.</p></td>
  </tr>
  <tr>
    <td>token_type</td>
    <td>Bearer</td>
    <td><p>OpenID Connect spezifischer Parameter (Details entnehmen Sie bitte der <a href="#referenzierte_spezifikation">OpenID Connect Spezifikation</a>)</p></td>
  </tr>
  <tr>
    <td>expires_in</td>
    <td>3600</td>
    <td>G&uuml;ltigkeitszeitraum der Response</td>
  </tr>
  <tr>
    <td>scope</td>
    <td>openID profile eID</td>
    <td>Die im AuthCode Request angeforderten Profile.</td>
  </tr>
  <tr>
    <td>id_token</td>
    <td>eyJhbGciOiJSU.....</td>
    <td>Dieses Element beinhaltet die eigentlichen Authentifizierungsdaten und ist durch eine JSON Web Signatur signiert.</td>
  </tr>
</table>
<p>&nbsp;</p>
<p>Nachfolgend ein Beispiel f&uuml;r einen AccessToken Response</p>
<pre>{
	&quot;access_token&quot;: &quot;SlAV32hkKG&quot;,
  &quot;token_type&quot;: &quot;Bearer&quot;,
  &quot;expires_in&quot;: 3600,
  &quot;scope&quot;: &quot;openid eID&quot;
  &quot;id_token&quot;: &quot;eyJhbGciOiJSUzI1NiIsImtpZCI6IjFlOWdkazcifQ.ewogImlzc
               yI6ICJodHRwOi8vc2VydmVyLmV4YW1wbGUuY29tIiwKICJzdWIiOiAiMjQ4Mjg5
               NzYxMDAxIiwKICJhdWQiOiAiczZCaGRSa3F0MyIsCiAibm9uY2UiOiAibi0wUzZ
               fV3pBMk1qIiwKICJleHAiOiAxMzExMjgxOTcwLAogImlhdCI6IDEzMTEyODA5Nz
               AKfQ.ggW8hZ1EuVLuxNuuIJKX_V8a_OMXzR0EHR9R6jgdqrOOF4daGU96Sr_P6q
               Jp6IcmD3HP99Obi1PRs-cwh4LO-p146waJ8IhehcwL7F09JdijmBqkvPeB2T9CJ
               NqeGpe-gccMg4vfKjkM8FcGvnzZUN4_KSP0aAp1tOJ1zZwgjxqGByKHiOtX7Tpd
               QyHE5lcMiKPXfEIQILVq0pc_E2DzL7emopWoaoZTF_m0_N0YzFC6g6EJbOEoRoS
               K5hoDalrcvRYLSrQAZZKflyuVCyixEoV9GfNQC3_osjzw2PAithfubEEBLuVVk4
               XUVrWOLrLl0nx7RkKU8NXNHq-rvKMzqg&quot;
} </pre>

<h4><a name="openid_req_errorresponse" id="openid_req_errorresponse"></a>3.2.5 Error Response</h4>
<p>Sollte w&auml;hrend des Authentifizierungsvorgangs ein Fehler auftreten antwortet das Modul MOA-ID-Auth mit einer Error Response. Diese beinhaltet folgende Parameter</p>
<table class="configtable">
  <tr>
    <th>Name</th>
    <th>Beispielwert</th>
    <th>Beschreibung</th>
  </tr>
  <tr>
    <td>error</td>
    <td>invalid_request_object</td>
    <td><p>Fehlercode laut OpenID Connect Spezifikation</p></td>
  </tr>
  <tr>
    <td>error_description</td>
    <td>Der Request ist ung&uuml;ltig</td>
    <td><p>Kurze textuelle Fehlerbeschreibung</p></td>
  </tr>
  <tr>
    <td>error_uri</td>
    <td>https://demo.egiz.gv.at/demoportal_moaid-2.0/moa_errorcodes.html#1000</td>
    <td>URL auf eine Seite mit zus&auml;tzlicher Fehlerbeschreibung</td>
  </tr>
</table>
<p>&nbsp;</p>
<h2><a name="saml1"></a>3 SAML 1</h2>
<p>SAML 1 wird durch MOA-ID-Auth 2.0 auch weiterhin, aus Gr&uuml;nden der Abw&auml;rtskompatibilit&auml;t, als Authentifizierungsprotokoll unterst&uuml;tzt. Es wird jedoch der Umstieg auf ein aktuelles Authentifizierungsprotokoll wie PVP 2.1 oder OpenID Connect empfohlen.</p>
<p>Die nachfolgenden   Abschnitte beschreiben den Anmeldevorgang unter Verwendung von SAML1 wobei die Funktionalit&auml;t, wie sie aus MOA-ID &lt;= 1.5.1 bekannt ist, auch weiterhin unterst&uuml;tzt wird (B&uuml;rgerkartenauswahl auf Seiten des Service Provider). Zus&auml;tzlich steht f&uuml;r SAML 1 jedoch auch die Funktionalit&auml;t der automatischen Generierung der B&uuml;rgerkartenauswahl durch das Modul MOA-ID-Auth zur Verf&uuml;gung.</p>
<h3><a name="saml1_sequence" id="saml1_sequence"></a>3.1 Ablauf einer Anmeldung mittels SAML 1</h3>
<p>Die nachfolgende Abbildung zeigt das Sequenzdiagramm eines   Anmeldevorgangs mittels SAML 1 und des Modules MOA-ID-Auth als   Identity  Provider. Hierbei wird die aus MOA-ID 1.5.1 bekannte Variante der B&uuml;rgerkartenauswahl beim Service Provider verwenden. Aus Gr&uuml;nden der &Uuml;bersichtlichkeit wurden die Teile   welche die Kommunikation mit der B&uuml;rgerkartenumgebung oder die   Vollmachten-Auswahl betreffen bewusst nicht ber&uuml;cksichtigt.</p>
<p><img src="saml1_sequence.png" width="936" height="592" alt="Sequenzdiagramm f&uuml;r SAML 1"></p>
<ol>
  <li>Der Benutzer verbindet sich zu einem Web-Portal (Service Provider) &uuml;ber das die Online-Applikation erreichbar ist. </li>
  <li>Der Service Provider antwortet mit einer &ouml;ffentlichen Portalseite welche einen Login Bereich mit B&uuml;rgerkartenauswahl beinhaltet.</li>
  <li>Nach Auswahl der gew&uuml;nschten Authentifizierungsmethode (B&uuml;rgerkarte oder Handy-Signatur) wird der Anmeldevorgang ausgel&ouml;st und der StartAuthentication Request wird an das Modul MOA-ID-Auth gesendet.</li>
  <li>MOA-ID-Auth validiert den StartAuthentication Request. Ist die Validierung erfolgreich wird der Anmeldevorgang vorgesetzt.</li>
  <li>Die Benutzerin oder der Benutzer wird zur gew&auml;hlten B&uuml;rgerkartenumgebung weitergeleitet.
    <ol>
      <li>Die Benutzerin oder der Benutzer Authentifiziert sich mit der gew&auml;hlten Methode.</li>
    </ol>
  </li>
  <li>War die Authentifizierung der Benutzerin oder des Benutzers erfolgreich generiert MOA-ID-Auth die Assertion mit den Anmeldedaten des Benutzers.</li>
  <li>MOA-ID-Auth senden das SAML 1 Artifact, welches zur Abholung der Assertion verwendet werden kann, &uuml;ber den Browser an den Service Provider.</li>
  <li>Der Service Provider stellt einen GetAuthenticationData Request an MOA-ID-Auth unter Verwendung des zuvor &uuml;bermittelten Artifacts.</li>
  <li>MOA-ID-Auth validiert das Artifact. Ist die Validierung erfolgreich antwortet MOA-ID-Auth mit der SAML 1 Assertion, welche die Anmeldedaten beinhaltet. </li>
  <li>Der Service Provider verarbeitet die Assertion und danach ist der Benutzer an der Online-Applikation angemeldet.</li>
</ol>
<h3><a name="saml1_zugang" id="saml1_zugang"></a>3.2 Zugangspunkte</h3>
<p>Zur Verwendung von SAML 1 stellt das Modul MOA-ID-Auth zwei Zugangspunkte zur Kommunikation mit der Online-Applikation (Service Provider) zur Verf&uuml;gung. Diese Zugangspunkte bezeichnen die URLs unter welchen das Modul   MOA-ID-Auth die entsprechenden SAML1 Nachrichten entgegennimmt.</p>
<ul>
  <li><strong>StartAuthentication Request:</strong> <em>https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/StartAuthentication</em><br>
    Unter dieser URL wird der Authn Request entgegengenommen. Dieser   Request startet den Authentifizierungsvorgang an der Online-Applikation.</li>
  <li><strong>GetAuthenticationData:</strong> <em>http(s)://&lt;host&gt;:&lt;port&gt;/moa-id-auth/services/GetAuthenticationData</em><br>
    Unter dieser URL k&ouml;nnen nach erfolgreicher Authentifizierung die   eigentlichen Authentifizierungsdaten am Modul MOA-ID-Auth abgeholt   werden.</li>
</ul>
<h3><a name="saml1_startauth" id="saml1_zugang2"></a>3.3 StartAuthentication Request</h3>
<p>MOA-ID-Auth wird immer durch eine andere (verweisende) Webseite aufgerufen. Diese Webseite kann z.B. Teil eines Portals sein.      Der Aufruf erfolgt durch einen Verweis der Form, wobei die Parameter sowohl als http GET als auch als http POST an MOA-ID-Auth &uuml;bergeben werden k&ouml;nnen.</p>
<pre>&lt;a href="https://&lt;moa-id-server-und-pfad&gt;/StartAuthentication
  ?Target=&lt;gesch&auml;ftsbereich&gt;  
  &amp;OA=&lt;oa-url&gt;
	&amp;bkuURI=&lt;bku-url&gt;
  &amp;Template=&lt;template-url&gt;
	&amp;useMandate=false
  &amp;CCC=&lt;ccc&gt;"&gt;</pre>
<table class="configtable">
  <tr>
    <th>Name</th>
    <th>Beispielwert</th>
    <th>Beschreibung</th>
  </tr>
  <tr>
    <td>&lt;moa-id-server-und-pfad&gt;</td>
    <td>https://demo.egiz.gv.at/<br>
    demoportal_moaid-2.0/</td>
    <td><p>Server und Pfad, wo MOA-ID-AUTH installiert ist</p></td>
  </tr>
  <tr>
    <td>Target=&lt;gesch&auml;ftsbereich&gt;</td>
    <td>BF</td>
    <td><p>Angabe, f&uuml;r welches Verfahren (&ouml;ffentlicher Bereich) der Benutzer authentisiert werden soll. Dieser Parameter wird jedoch durch den in entsprechenden Parameter in der <a href="./../config/config.html#konfigurationsparameter_oa_general_public">online-applikationsspezifischen Konfiguration</a> &uuml;berschrieben.</p></td>
  </tr>
  <tr>
    <td>OA=&lt;oa-url&gt;</td>
    <td>https://demo.egiz.gv.at/demoportal-demologin/securearea.action</td>
    <td>Webseite, auf die der Browser nach erfolgter Authentisierung weitergeleitet werden soll</td>
  </tr>
  <tr>
    <td>bkuURI=&lt;bku-url&gt;</td>
    <td>https://127.0.0.1:3496/https-security-layer-request</td>
    <td><p>URL auf die B&uuml;rgerkartenumgebung, welche f&uuml;r die Authentifizierung der Benutzerin oder des Benutzers verwendet werden soll. </p>
    <p><strong>Hinweis:</strong> Wird dieser Parameter nicht &uuml;bertragen, antwortet das Modul MOA-ID-Auth mit einem bei MOA-ID-Auth hinterlegten B&uuml;rgerkartentemplate.</p></td>
  </tr>
  <tr>
    <td>Template=&lt;template-url&gt;</td>
    <td>https://demo.egiz.gv.at/moa-id-auth/template_onlineBKU.html</td>
    <td><strong>Optional:</strong> URL auf die HTML Vorlage f&uuml;r den Security-Layer Request, welcher f&uuml;r die Kommunikation mit der B&uuml;rgerkartenumgebung verwendet wird. Die URL muss in der online-applikationsspezifischen Konfiguration von MOA-ID-Auth hinterlegt werden (<a href="./../config/config.html#konfigurationsparameter_oa_bku">siehe Parameter <em>SecurityLayerTemplates</em></a>).<br>
    Ist dieser Parameter nicht vorhanden, verwendet MOA-ID-Auth das f&uuml;r diese Online-Applikation hinterlegten Security-Layer Template (<a href="./../config/config.html#konfigurationsparameter_oa_bku">siehe Parameter <em>SecurityLayerTemplates</em></a>).</td>
  </tr>
  <tr>
    <td>useMandate=&lt;true/false&gt;</td>
    <td>true / false</td>
    <td><strong>Optional:</strong> Gibt an ob eine Anmeldung im Online-Vollmachten-Modus durchgef&uuml;hrt werden soll (=true) oder nicht (=false);</td>
  </tr>
  <tr>
    <td>CCC=&lt;ccc&gt;</td>
    <td>BE, SI, </td>
    <td><strong>Optional:</strong> Gibt an ob die Anmeldung mittels STORK im angegebenen Land erfolgen soll. Die Angabe erfolgt mit dem L&auml;ndercode (Bsp: PT, LU, ES, ...) des jeweiligen Landes.</td>
  </tr>
  <tr>
    <td>sourceID=&lt;xxxxxxx&gt;</td>
    <td>abcdef141245</td>
    <td><strong>Optional:</strong> Die sourceID flie&szlig;t in die Generierung des SAML1 Artifacts, welches an den Service Provider returniert wird, ein. Detailinformationen zur Generierung des SAML1 Artifacts und zur sourceID finden Sie in der <a href="#referenzierte_spezifikation">SAML1 Spezifikation</a>.</td>
  </tr>
</table>
<h3><a name="saml1_getassertion" id="saml1_zugang3"></a>3.4 GetAuthenticationData Request</h3>
<p>Nach erfolgter Authentisierung stehen in MOA-ID-AUTH Anmeldedaten zum Abholen bereit,    und MOA-ID-AUTH veranlasst einen Redirect zur Online-Applikation (OA). <br>
  <br>
In diesem Redirect werden der Gesch&auml;ftsbereich und ein SAML-Artifact als Parameter &uuml;bergeben. </p>
<pre>&lt;a href="https://&lt;oa-url&gt;?Target=&lt;gesch&auml;ftsbereich&gt;&amp;SAMLArtifact=&lt;saml-artifact&gt;"&gt;</pre>
<table class="configtable">
  <tbody valign="baseline">
    <tr>
      <td>oa-url&gt;</td>
      <td>URL, der beim Aufruf von MOA-ID-AUTH als Parameter "OA" &uuml;bergeben wurde</td>
    </tr>
    <tr>
      <td>Target=&lt;gesch&auml;ftsbereich&gt;</td>
      <td>Parameter, der beim Aufruf von MOA-ID-AUTH &uuml;bergeben wurde</td>
    </tr>
    <tr>
      <td>SAMLArtifact=&lt;saml-artifact&gt;</td>
      <td>SAML-Artifact, das von MOA-ID-AUTH zu den Anmeldedaten erstellt wurde.          Mithilfe dieses SAML-Artifacts kann die OA die Anmeldedaten von MOA-ID-AUTH abholen.</td>
    </tr>
  </tbody>
</table>
<p>&nbsp;</p>
<p>Der Service Provider kann anschlie&szlig;end die Assertion, welche die Anmeldedaten oder eine Fehlermeldung beinhaltet, unter Verwendung des SAMLArtifact, am Modul MOA-ID-Auth abholen.</p>
<p>Das MOA-ID-AUTH Web Service wird &uuml;ber einen &lt;samlp:Request&gt; aufgerufen.    Der &lt;samlp:Request&gt; enth&auml;lt in einem &lt;samlp:AssertionArtifact&gt; das von MOA-ID-AUTH &uuml;bergebene SAML-Artifact. <br>
  <br>
MOA-ID-AUTH liefert als Antwort einen &lt;samlp:Response&gt;. Die   Anmeldedaten sind im &lt;samlp:Response&gt; in Form einer   &lt;saml:Assertion&gt; enthalten. <br>
Sollte w&auml;hrend des Anmeldevorgangs ein Fehler aufgetreten sein, antwortet das Modul MOA-ID-Auth mit einer Fehlerbeschreibung in der SAML Response. Das Element <code>/samlp:Response/samlp:Status/samlp:StatusCode</code><code>/</code> beinhaltet auf jeden Fall einen allgemeinen Fehlercode laut SAML1 Spezifikation. Zus&auml;tzlich kann das Element <code>/samlp:Response/samlp:Status/samlp:StatusCode</code><code>/</code><code>samlp:StatusCode</code><code>/</code>einen MOA-ID-Auth Fehlercode (siehe <a href="#statuscodes">Kapitel 1.3</a>) beinhalten.  Au&szlig;erdem erfolgt eine kurze textuelle Fehlerbeschreibung im Element <code>/samlp:Response/samlp:Status/</code><code>samlp:StatusMessage/</code>.</p>
<ul>
  <li> <a href="file:///D:/Projekte/svn/moa-id/moa-idspss/id/server/doc/cs-sstc-schema-protocol-01.xsd">SAML 1.0 Protocol Schema</a> <br>
  </li>
  <li> <a href="file:///D:/Projekte/svn/moa-id/moa-idspss/id/server/doc/cs-sstc-schema-assertion-01.xsd">SAML 1.0 Assertion Schema</a></li>
</ul>
<p>Der detaillierte Aufbau der &lt;saml:Assertion&gt; zu den Anmeldedaten ist in der <a href="./../spec/MOA_ID_1.4_20070802.pdf">Spezifikation MOA-ID 1.4</a> beschrieben.</p>
<h2><a name="referenzierte_spezifikation" id="uebersicht_zentraledatei_aktualisierung30"></a>A Referenzierte Spezifikation</h2>
<table class="configtable">
  <tbody>
    <tr>
      <th>Spezifikation</th>
      <th>Link</th>
    </tr>
    <tr id="sl">
      <td><p>Security Layer Spezifikation V1.2.0</p></td>
      <td><a href="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20140114/">http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20140114/</a></td>
    </tr>
    <tr>
      <td>Online-Vollmachten Spezifikation </td>
      <td><a href="http://reference.e-government.gv.at/AG-II-Architektur-mis-1-1-0.2890.0.html">http://reference.e-government.gv.at/AG-II-Architektur-mis-1-1-0.2890.0.html</a></td>
    </tr>
    <tr>
      <td>PVP 2.1 S-Profil Spezifikation</td>
      <td><a href="http://reference.e-government.gv.at/uploads/media/PVP2-S-Profil_2_0_0_a-2011-08-31.pdf">http://reference.e-government.gv.at/uploads/media/PVP2-S-Profil_2_0_0_a-2011-08-31.pdf</a></td>
    </tr>
    <tr>
      <td>OpenID Connect</td>
      <td><a href="http://openid.net/connect/">http://openid.net/connect/</a></td>
    </tr>
    <tr>
      <td>STORK 2</td>
      <td>@TODO Link</td>
    </tr>
    <tr>
      <td>Metadata for the OASIS Security Assertion Markup Language (SAML) V2.0</td>
      <td><a href="#http://docs.oasis-open.org/security/saml/v2.0/saml-metadata-2.0-os.pdf">http://docs.oasis-open.org/security/saml/v2.0/saml-metadata-2.0-os.pdf</a></td>
    </tr>
    <tr>
      <td>Assertions and Protocols for the OASIS Security Assertion Markup Language (SAML) V2.0</td>
      <td><a href="http://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf">http://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf</a></td>
    </tr>
    <tr>
      <td>Assertions and Protocols for the OASIS Security Assertion Markup Language (SAML) V1.1</td>
      <td><a href="https://www.oasis-open.org/committees/download.php/3406/oasis-sstc-saml-core-1.1.pdf">https://www.oasis-open.org/committees/download.php/3406/oasis-sstc-saml-core-1.1.pdf</a></td>
    </tr>
  </tbody>
</table>
    </div>
</body>
</html>