diff options
Diffstat (limited to 'id/server/doc/handbook/protocol/protocol.html')
-rw-r--r-- | id/server/doc/handbook/protocol/protocol.html | 330 |
1 files changed, 166 insertions, 164 deletions
diff --git a/id/server/doc/handbook/protocol/protocol.html b/id/server/doc/handbook/protocol/protocol.html index 1c6e51661..5f3189226 100644 --- a/id/server/doc/handbook/protocol/protocol.html +++ b/id/server/doc/handbook/protocol/protocol.html @@ -4,21 +4,22 @@ <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='http://fonts.googleapis.com/css?family=Roboto:300,400' rel='stylesheet' type='text/css'> </head> <body link="#990000"> - <table class="logoTable" width="100%" border="0" cellspacing="0" cellpadding="10"> - <tr> - <td align="center" class="logoTitle" width="267"><img src="../common/LogoBKA.png" alt="Logo BKA" width="267" height="37" align="left"></td> - <td align="center" class="logoTitle">Dokumentation</td> - <td align="center" class="logoTitle" width="123"><img src="../common/LogoEGIZ.png" alt="Logo EGIZ" width="230" height="81" align="right"></td> - </tr> - </table> - <hr/> - <p class="title"><a href="../index.html">MOA-ID (Identifikation) </a></p> -<p class="subtitle">Protokolle</p> - <hr/> -<h1>Inhalt</h1> - <ol> + <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">Übersicht der Zugangspunkte</a></li> @@ -78,18 +79,18 @@ <li><a href="#referenzierte_spezifikation">Referenzierte Spezifikation</a></li> </ol> -<hr/> - <h1><a name="allgemeines"></a>1 Allgemeines</h1> - <p>Dieses Kapitel behandelt jene Authentifizierungsprotokolle die vom Modul MOA-ID-Auth unterstützt werden. + + <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> -<h2><a name="allgemeines_zugangspunkte" id="allgemeines_zugangspunkte"></a>1.1 Übersicht der Zugangspunkte</h2> + 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 Übersicht der Zugangspunkte</h3> <p>In diesem Abschnitt sind die Zugangspunkte der vom Modul MOA-ID-Auth unterstützten Protokolle kurz zusammengefasst. Eine detaillierte Beschreibung der einzelnen Protokolle finden Sie in den anschließenden Unterkapiteln. </p> - <table width="1247" border="1"> + <table class="configtable"> <tr> - <th width="164" scope="col">Protokoll</th> - <th width="168" scope="col">Requesttyp</th> - <th width="893" scope="col">URL</th> + <th>Protokoll</th> + <th>Requesttyp</th> + <th>URL</th> </tr> <tr> <td><a href="#pvp21">PVP 2.1</a></td> @@ -122,12 +123,12 @@ Redirect Binding</td> <td><a href="#openid">OpenID Connect</a></td> <td>Authentifizierungsrequest <br> (AuthCode-Request)</td> - <td>https://<host>:<port>/moa-id-auth/oauth2/auth</td> + <td>https://<host>:<port>/moa-id-auth/oauth3/auth</td> </tr> <tr> <td><a href="#openid">OpenID Connect</a></td> <td><p>AccessToken-Request</p></td> - <td>https://<host>:<port>/moa-id-auth/oauth2/token</td> + <td>https://<host>:<port>/moa-id-auth/oauth3/token</td> </tr> <tr> <td><a href="#saml1">SAML 1</a></td> @@ -153,21 +154,21 @@ Redirect Binding</td> <p>http://<host>:<port>/moa-id-auth/idpSingleLogout</p></td> </tr> </table> - <h2><a name="allgemeines_attribute" id="allgemeines_zugangspunkte2"></a>1.2 Übersicht der möglichen Attribute</h2> + <h3><a name="allgemeines_attribute" id="allgemeines_zugangspunkte2"></a>1.2 Übersicht der möglichen Attribute</h3> <p>Die nachfolgende Tabelle beinhaltet eine Liste aller Attribute die vom Modul MOA-ID-Auth an die Online-Applikation zurückgeliefert werden können, sofern diese nach der Authentifizierung zur Verfü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 width="1247" border="1"> +<table class="configtable"> <tr> <th colspan="4" align="center" valign="middle" scope="col">Protokolle</th> - <th width="429" rowspan="3" scope="col">Beschreibung</th> + <th rowspan="3" scope="col">Beschreibung</th> </tr> <tr> - <th width="208" rowspan="2" scope="col">PVP 2.1</th> + <th rowspan="2" scope="col">PVP 2.1</th> <th colspan="2" scope="col">OpenID Connect</th> - <th width="335" rowspan="2" scope="col">SAML 1</th> + <th rowspan="2" scope="col">SAML 1</th> </tr> <tr> - <th width="188" scope="col">Name</th> - <th width="53" scope="col">Profil</th> + <th>Name</th> + <th>Profil</th> </tr> <tr> <td>urn:oid:1.2.40.0.10.2.1.1.149</td> @@ -515,16 +516,16 @@ Redirect Binding</td> <p><strong>Hinweis:</strong> Dieses Attribut steht nur bei einer Anmeldung mittels STORK zur Verfügung.</p></td> </tr> </table> -<h2><a name="statuscodes" id="allgemeines_zugangspunkte6"></a>1.3 Übersicht der möglichen MOA-ID spezifischen Statuscodes</h2> +<h3><a name="statuscodes" id="allgemeines_zugangspunkte6"></a>1.3 Übersicht der möglichen MOA-ID spezifischen Statuscodes</h3> <p>Vom Modul MOA-ID-Auth werden verschiedene Authentifizierungsprotokolle wobei diese Protokolle die Fehlerrückgabe unterschiedlich spezifizieren. Zusätzlich zu den protokollabhängigen Statuscodes (<a href="#referenzierte_spezifikation">siehe Spezifikation des jeweiligen Protokolls</a>) werden zusätzliche protokollunabhängige Statuscodes an den Service Provider zurückgeliefert, wobei sich das Format der Fehlerrückgabe jedoch weiterhin protokollspezifisch ist.</p> <p>Die nachfolgende Tabelle zeigt alle protokollunabhängigen Statuscodes welche vom Modul MOA-ID-Auth zurückgeliefert werden können.</p> -<h3><a name="statuscodes_1xxxx" id="allgemeines_zugangspunkte7"></a>1.3.1 Statuscodes 1xxxx</h3> +<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ährend des Identifizierungs- und Authentifizierungsvorgangs aufgetreten sind.</p> -<h4><a name="statuscodes_10xxx" id="allgemeines_zugangspunkte11"></a>1.3.1.1 Authentifizierung (10xxx)</h4> -<table width="1237" border="1"> +<h5><a name="statuscodes_10xxx" id="allgemeines_zugangspunkte11"></a>1.3.1.1 Authentifizierung (10xxx)</h5> +<table class="configtable"> <tr> - <th width="214" scope="col">Statuscode</th> - <th width="1007" scope="col">Beschreibung</th> + <th>Statuscode</th> + <th>Beschreibung</th> </tr> <tr> <td>1000</td> @@ -559,11 +560,11 @@ Redirect Binding</td> <td>Vollmachtsmodus für ausländische Personen wird nicht unterstützt.</td> </tr> </table> -<h4><a name="statuscodes_11xxx" id="allgemeines_zugangspunkte12"></a>1.3.1.2 Validierung (11xxx)</h4> -<table width="1237" border="1"> +<h5><a name="statuscodes_11xxx" id="allgemeines_zugangspunkte12"></a>1.3.1.2 Validierung (11xxx)</h5> +<table class="configtable"> <tr> - <th width="214" scope="col">Statuscode</th> - <th width="1007" scope="col">Beschreibung</th> + <th>Statuscode</th> + <th>Beschreibung</th> </tr> <tr> <td>1100</td> @@ -606,11 +607,11 @@ Redirect Binding</td> <td>Fehler beim Validieren der SZR-Gateway Response</td> </tr> </table> -<h4><a name="statuscodes_12xxx" id="allgemeines_zugangspunkte13"></a>1.3.1.3 STORK (12xxx)</h4> -<table width="1237" border="1"> +<h5><a name="statuscodes_12xxx" id="allgemeines_zugangspunkte13"></a>1.3.1.3 STORK (12xxx)</h5> +<table class="configtable"> <tr> - <th width="214" scope="col">Statuscode</th> - <th width="1007" scope="col">Beschreibung</th> + <th>Statuscode</th> + <th>Beschreibung</th> </tr> <tr> <td>1200</td> @@ -637,16 +638,16 @@ Redirect Binding</td> <td>Der geforderte QAA Level ist höher als der QAA Level der gewählten Authentifizierungsmethode</td> </tr> </table> -<h3><a name="statuscodes_4xxxx" id="allgemeines_zugangspunkte8"></a>1.3.2 Statuscodes 4xxxx</h3> +<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ährend der Kommunikation mit externen Services aufgetreten sind.</p> -<h4><a name="statuscodes_40xxx" id="allgemeines_zugangspunkte19"></a>1.3.2.1 BKU (40xxxx)</h4> +<h5><a name="statuscodes_40xxx" id="allgemeines_zugangspunkte19"></a>1.3.2.1 BKU (40xxxx)</h5> <p>Tritt während des Anmeldevorgangs in der Bü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ür Bürgerkartenumgebungsfehler weißt das folgende zweiteilige Format auf. Der erste Teil, bestehend aus zwei Dezimalstellen, kennzeichnet den Fehler als Fehler als Bürgerkartenumgebungsfehler. Der zweite Teil, bestehend aus vier Dezimalstellen bezeichnet den eindeutigen Identifikator des Fehlers aus der Bü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ür Fehler aus der Bürgerkartenumgebung</p> <p>{xxxx} .... Fehlercode der Bürgerkartenumgebung.</p> </blockquote> -<h4><a name="statuscodes_41xxx" id="allgemeines_zugangspunkte20"></a>1.3.2.2 MIS (41xxxx)</h4> +<h5><a name="statuscodes_41xxx" id="allgemeines_zugangspunkte20"></a>1.3.2.2 MIS (41xxxx)</h5> <p>Tritt wä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ür Fehler aus dem Online-Vollmachten Service weiß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> @@ -654,10 +655,10 @@ Redirect Binding</td> <p>{xxx} .... Fehlercode des Online-Vollmachten Service.</p> </blockquote> <p>Zusätzlich zu den gemappten Fehlern aus dem Online-Vollmachen Service werden zusätzliche weitere Fehlercodes definiert.</p> -<table width="1237" border="1"> +<table class="configtable"> <tr> - <th width="214" scope="col">Statuscode</th> - <th width="1007" scope="col">Beschreibung</th> + <th>Statuscode</th> + <th>Beschreibung</th> </tr> <tr> <td>41000</td> @@ -668,11 +669,11 @@ Redirect Binding</td> <td>Allgemeiner Fehler bei der Kommunikation mit dem Online-Vollmachten Service</td> </tr> </table> -<h4><a name="statuscodes_42xxx" id="allgemeines_zugangspunkte21"></a>1.3.2.3 SZR-Gateway (42xxx)</h4> -<table width="1237" border="1"> +<h5><a name="statuscodes_42xxx" id="allgemeines_zugangspunkte21"></a>1.3.2.3 SZR-Gateway (42xxx)</h5> +<table class="configtable"> <tr> - <th width="214" scope="col">Statuscode</th> - <th width="1007" scope="col">Beschreibung</th> + <th>Statuscode</th> + <th>Beschreibung</th> </tr> <tr> <td>4200</td> @@ -683,35 +684,35 @@ Redirect Binding</td> <td>Die Antragung in das SZR ist fehlgeschlagen</td> </tr> </table> -<h4><a name="statuscodes_43xxx" id="allgemeines_zugangspunkte22"></a>1.3.2.4 MOA SP/SS(43xxx)</h4> -<table width="1237" border="1"> +<h5><a name="statuscodes_43xxx" id="allgemeines_zugangspunkte22"></a>1.3.2.4 MOA SP/SS(43xxx)</h5> +<table class="configtable"> <tr> - <th width="214" scope="col">Statuscode</th> - <th width="1007" scope="col">Beschreibung</th> + <th>Statuscode</th> + <th>Beschreibung</th> </tr> <tr> <td>4300</td> <td>Fehler beim Aufruf von MOA SP/SS</td> </tr> </table> -<h4><a name="statuscodes_44xxx" id="allgemeines_zugangspunkte23"></a>1.3.2.5 Interfederation (44xxx)</h4> -<table width="1237" border="1"> +<h5><a name="statuscodes_44xxx" id="allgemeines_zugangspunkte23"></a>1.3.2.5 Interfederation (44xxx)</h5> +<table class="configtable"> <tr> - <th width="214" scope="col">Statuscode</th> - <th width="1007" scope="col">Beschreibung</th> + <th>Statuscode</th> + <th>Beschreibung</th> </tr> <tr> <td>4400</td> <td>Fehler beim Generieren der Anmeldedaten</td> </tr> </table> -<h3><a name="statuscodes_6xxxx" id="allgemeines_zugangspunkte9"></a>1.3.3 Statuscodes 6xxxx</h3> +<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> -<h4><a name="statuscodes_61xxx" id="allgemeines_zugangspunkte24"></a>1.3.3.1 Allgemein (61xxx)</h4> -<table width="1237" border="1"> +<h5><a name="statuscodes_61xxx" id="allgemeines_zugangspunkte24"></a>1.3.3.1 Allgemein (61xxx)</h5> +<table class="configtable"> <tr> - <th width="214" scope="col">Statuscode</th> - <th width="1007" scope="col">Beschreibung</th> + <th>Statuscode</th> + <th>Beschreibung</th> </tr> <tr> <td>6000</td> @@ -722,11 +723,11 @@ Redirect Binding</td> <td>Der STORK Request wurde nicht erkannt oder wird nicht unterstützt</td> </tr> </table> -<h4><a name="statuscodes_61xxx" id="allgemeines_zugangspunkte16"></a>1.3.3.2 PVP 2.1 (61xxx)</h4> -<table width="1237" border="1"> +<h5><a name="statuscodes_61xxx" id="allgemeines_zugangspunkte16"></a>1.3.3.2 PVP 2.1 (61xxx)</h5> +<table class="configtable"> <tr> - <th width="214" scope="col">Statuscode</th> - <th width="1007" scope="col">Beschreibung</th> + <th>Statuscode</th> + <th>Beschreibung</th> </tr> <tr> <td>6100</td> @@ -753,35 +754,35 @@ Redirect Binding</td> <td>Der Request konnte nicht gültig validiert werden.</td> </tr> </table> -<h4><a name="statuscodes_62xxx" id="allgemeines_zugangspunkte17"></a>1.3.3.3 OpenID Connect (62xxx)</h4> -<table width="1237" border="1"> +<h5><a name="statuscodes_62xxx" id="allgemeines_zugangspunkte17"></a>1.3.3.3 OpenID Connect (62xxx)</h5> +<table class="configtable"> <tr> - <th width="214" scope="col">Statuscode</th> - <th width="1007" scope="col">Beschreibung</th> + <th>Statuscode</th> + <th>Beschreibung</th> </tr> <tr> <td>6200</td> <td>Fehlerhafte redirect url</td> </tr> </table> -<h4><a name="statuscodes_63xxx" id="allgemeines_zugangspunkte18"></a>1.3.3.4 SAML 1(63xxx)</h4> -<table width="1237" border="1"> +<h5><a name="statuscodes_63xxx" id="allgemeines_zugangspunkte18"></a>1.3.3.4 SAML 1(63xxx)</h5> +<table class="configtable"> <tr> - <th width="214" scope="col">Statuscode</th> - <th width="1007" scope="col">Beschreibung</th> + <th>Statuscode</th> + <th>Beschreibung</th> </tr> <tr> <td>6300</td> <td>Fehlerhaftes SAML Artifact Format</td> </tr> </table> -<h3><a name="statuscodes_9xxxx" id="allgemeines_zugangspunkte10"></a>1.3.4 Statuscodes 9xxxx</h3> +<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> -<h4><a name="statuscodes_90xxx" id="allgemeines_zugangspunkte14"></a>1.3.4.1 Konfigurationsfehler (90xxx)</h4> -<table width="1237" border="1"> +<h5><a name="statuscodes_90xxx" id="allgemeines_zugangspunkte14"></a>1.3.4.1 Konfigurationsfehler (90xxx)</h5> +<table class="configtable"> <tr> - <th width="214" scope="col">Statuscode</th> - <th width="1007" scope="col">Beschreibung</th> + <th>Statuscode</th> + <th>Beschreibung</th> </tr> <tr> <td>9000</td> @@ -816,11 +817,11 @@ Redirect Binding</td> <td>Der SZR-Gateway Client konnte nicht initialisiert werden.</td> </tr> </table> -<h4><a name="statuscodes_91xxx" id="allgemeines_zugangspunkte15"></a>1.3.4.2 Interne Fehler (91xxx)</h4> -<table width="1237" border="1"> +<h5><a name="statuscodes_91xxx" id="allgemeines_zugangspunkte15"></a>1.3.4.2 Interne Fehler (91xxx)</h5> +<table class="configtable"> <tr> - <th width="214" scope="col">Statuscode</th> - <th width="1007" scope="col">Beschreibung</th> + <th>Statuscode</th> + <th>Beschreibung</th> </tr> <tr> <td>9100</td> @@ -844,7 +845,7 @@ Redirect Binding</td> </tr> </table> <p> </p> -<h2><a name="allgemeines_sso" id="allgemeines_zugangspunkte3"></a>1.4 Single Sign-On</h2> +<h3><a name="allgemeines_sso" id="allgemeines_zugangspunkte3"></a>1.4 Single Sign-On</h3> <p>Das Modul MOA-ID-Auth unterstützt ab der Version 2.0 Single Sign-On (SSO), wobei diese Funktionalität unabhä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ür die Benutzerin oder den Benutzer für weitere Anmeldevorgänge ohne weitere Authentifizierung mittels Bürgerkarte, Handy-Signatur oder STORK zur Verfü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ünden der Übersichtlichkeit wurden die Teile welche die Kommunikation mit der Bürgerkartenumgebung, die Vollmachten-Auswahl oder den Metadatenaustausch betreffen bewusst nicht berücksichtigt.</p> <p><img src="sso_sequence.png" width="1095" height="978" alt="Sequenzdiagramm einer Anmeldung mittels Single Sign-On"></p> @@ -873,7 +874,7 @@ Redirect Binding</td> <li>Ist die Validierung der Assertion erfolgreich wird die Benutzerin oder der Benutzer an der Online-Applikation 2 angemeldet</li> </ol> <p>Zusätzliche Informationen zur Konfiguration und die sich daraus ergebenden Anforderungen oder Einschränkungen finden sie <a href="./../config/config.html#konfigurationsparameter_allgemein_sso">hier</a>.</p> -<h2><a name="allgemeines_ssologout" id="allgemeines_zugangspunkte5"></a>1.5 SSO Logout </h2> +<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ügung. Nach dem Aufruf dieses Service aus dem Browser des Users wird eine bestehende SSO Session beendet und anschließ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ügung und benötigt einen http GET Parameter:</p> <pre>http://<host>:<port>/moa-id-auth/LogOut @@ -882,11 +883,11 @@ Redirect Binding</td> <pre> https://<host>:<port>/moa-id-auth/LogOut </pre> -<table width="1247" border="1"> +<table class="configtable"> <tr> - <th width="115" scope="col">Name</th> - <th width="262" scope="col">Beispielwert</th> - <th width="848" scope="col">Beschreibung</th> + <th>Name</th> + <th>Beispielwert</th> + <th>Beschreibung</th> </tr> <tr> <td>redirect</td> @@ -901,7 +902,7 @@ https://<host>:<port>/moa-id-auth/LogOut <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ändige Single Log-Out Funktionalität wie sie im SAML 2 Protokoll vorgesehen ist, sondern beendet ausschließlich die SSO Session in der MOA-ID-Auth Instanz.</p> -<h3><a name="allgemeines_ssologout_slo" id="allgemeines_zugangspunkte25"></a>1.5.1 Single LogOut</h3> +<h4><a name="allgemeines_ssologout_slo" id="allgemeines_zugangspunkte25"></a>1.5.1 Single LogOut</h4> <p>Ab der Version 2.1 unterstützt das Modul MOA-ID-Auth Single LogOut (SLO) laut SAML2 Spezifikation. Die SLO Funktionaltität steht jedoch nur für Online-Applikationen zur Verfügung welche als Authentifizierungsprotokoll PVP 2.1 verwenden. Für alle anderen Authentifizierungsprotokolle steht aktuell kein SLO zur Verfügung. </p> <p>Für Single LogOut stehen sowohl IDP initialisiertes SLO als auch Service Provider initialisiertes SLO zur Verfügung. Als Einsprungpunkt für IDP initialisiertes SLO stellt das Modul MOA-ID-Auth folgende Web Adressen zur Verfü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://<host>:<port>/moa-id-auth/idpSingleLogout</pre> @@ -912,14 +913,14 @@ https://<host>:<port>/moa-id-auth/LogOut <p> </p> <p><strong>Hinweis:</strong> Wenn Single Sign-On mit Authentifizierungsprotokollen, welche kein SLO untersützen verwendet wurde, schlä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> </p> -<h2><a name="allgemeines_legacy" id="allgemeines_zugangspunkte4"></a>1.6 Legacy Request (Bürgerkartenauswahl beim Service Provider)</h2> +<h3><a name="allgemeines_legacy" id="allgemeines_zugangspunkte4"></a>1.6 Legacy Request (Bürgerkartenauswahl beim Service Provider)</h3> <p>Soll die Bürgerkartenauswahl jedoch weiterhin, wie aus MOA-ID 1.5.1 bekannt direkt in der Online-Applikation des Service Providers erfolgen muss fü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ätzlich zu den protokollspezifischen Parametern mindestens der Parameter <em>bkuURI</em>, welcher die gewählte Bürgerkartenumgebung enthält, im Authentifizierungsrequest an MOA-ID-Auth übergeben werden (siehe <a href="#saml1_startauth">Protokoll SAML 1</a>). Die folgenden Parameter stehen bei Verwendung des Legacy Modus unabhängig vom verwendeten Protokoll zur Verfügung und bilden den gesamten Umfang der Bürgerkartenauswahl, wie aus MOA-ID 1.5.1 bekannt, ab.</p> -<table border="1" width="1247"> +<table class="configtable"> <tbody> <tr> - <th scope="col" width="170">Name</th> - <th scope="col" width="221">Beispielwert</th> - <th scope="col" width="834">Beschreibung</th> + <th>Name</th> + <th>Beispielwert</th> + <th>Beschreibung</th> </tr> <tr> <td>bkuURI=<bku-url></td> @@ -948,10 +949,10 @@ https://<host>:<port>/moa-id-auth/LogOut <p> </p> <p><strong>Hinweis:</strong> Bei einer vollständigen Neukonfiguration ist der Legacy Modus standardmäßig für alle Protokolle deaktiviert.</p> <p><strong>Hinweis:</strong> Bei der Verwendung des Legacy Request für die Bü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> -<h1><a name="pvp21"></a>2 PVP 2.1</h1> +<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ür die Authentifizierung von Benutzern mit Webbrowser. Dadurch wird die direkte Kommunikation des Browsers mit der Anwendung ermöglicht, was in Anwendungsfällen notwendig ist, wo Anwendungen nicht kompatibel mit dem Reverse - Proxy - Verfahren sind, datenschutzrechtliche Probleme bestehen oder SAML WebSSO als Industriestandard unterstü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> -<h2><a name="pvp21_sequenz" id="pvp21_sequenz"></a>2.1 Ablauf einer Anmeldung mittels PVP 2.1</h2> +<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ü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="pvp21_sequence.png" width="968" height="687" alt="Sequenzdiagramm PVP 2.1"></p> <ol> @@ -973,7 +974,7 @@ https://<host>:<port>/moa-id-auth/LogOut </ol> </li> </ol> -<h2><a name="pvp21_metadata" id="pvp21_metadata"></a>2.2 Metadaten</h2> +<h3><a name="pvp21_metadata" id="pvp21_metadata"></a>2.2 Metadaten</h3> <p>Das Modul MOA-ID-Auth stellt fü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ät der Metadaten verifizieren können. Ein Beispiel fü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önnen unter folgender URL abgerufen werden.</p> <pre>http://<host>:<port>/moa-id-auth/pvp2/metadata </pre> @@ -993,7 +994,7 @@ https://<host>:<port>/moa-id-auth/pvp2/metadata </ul> <p>Zusätzlich unterstützt das Modul MOA-ID-Auth auch die Verschlü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="encryption"</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ü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üfung der Signatur des Authentifizierungsrequest als auch zur Verschlüsselung der PVP 2.1 Assertion verwendet.</p> -<h2><a name="pvp21_binding" id="pvp21_binding"></a>2.3 Zugangspunkte</h2> +<h3><a name="pvp21_binding" id="pvp21_binding"></a>2.3 Zugangspunkte</h3> <p>Fü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ü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 Übertragung mittels http POST. Hierfür stellt MOA-ID-Auth den folgenden Zugangspunkt zur Verfügung.</li> @@ -1004,16 +1005,16 @@ https://<host>:<port>/moa-id-auth/pvp2/metadata </ul> <pre>https://<host>:<port>/moa-id-auth/pvp2/redirect</pre> <p><strong>Hinweis:</strong> Die Zugangspunkte können auch direkt aus den von MOA-ID-Auth generierten Metadaten entnommen werden.</p> -<h3><a name="pvp21_binding_request" id="pvp21_binding2"></a>2.3.1 Authentifizierungsrequest</h3> +<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 übermittelt. Zur Ü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üssen erfü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ägt die Signaturprü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 border="1" cellpadding="2" class="fixedWidth"> + <table class="configtable"> <tr> - <td width="8%">Name</td> - <td width="92%"><code>saml2p:AuthnRequest/saml2:Issuer</code></td> + <td>Name</td> + <td ><code>saml2p:AuthnRequest/saml2:Issuer</code></td> </tr> <tr> <td> Gebrauch</td> @@ -1026,7 +1027,7 @@ https://<host>:<port>/moa-id-auth/pvp2/metadata </table> </li> <li> - <table border="1" cellpadding="2" class="fixedWidth"> + <table class="configtable"> <tr> <td width="8%">Name</td> <td width="92%"><code>/saml2p:AuthnRequest/@ID</code></td> @@ -1044,7 +1045,7 @@ https://<host>:<port>/moa-id-auth/pvp2/metadata </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> -<h3><a name="pvp21_binding_response" id="pvp21_binding3"></a>2.3.2 Authentifizierungsresponse</h3> +<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 Ü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 Übertragung der Assertion unterstützt.</p> <ul> @@ -1145,13 +1146,13 @@ https://<host>:<port>/moa-id-auth/pvp2/metadata <td><p>Dieses Attribut beinhaltet einen von MOA-ID-Auth ausgestellten Gültigkeitszeitraum für diese Assertion. Aktuell beträgt der Gültigkeitszeitraum fünf Minuten ab dem Ausstellzeitpunkt.</p></td> </tr> </table> -<h1><a name="openid"></a>3 OpenID Connect </h1> -<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> +<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> +<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> -<h2><a name="openid_sequenzdiagramm"></a>3.1 Ablauf einer Anmeldung mittels OpenID Connect</h2> -<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> +<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> @@ -1182,23 +1183,23 @@ https://<host>:<port>/moa-id-auth/pvp2/metadata </ol> </li> </ol> -<h2><a name="openid_interface"></a>3.2 Zugangspunkte</h2> -<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> +<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://<host>:<port>/moa-id-auth/oauth2/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://<host>:<port>/moa-id-auth/oauth2/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> + <li><b>AuthCode-Request:</b> <em>https://<host>:<port>/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://<host>:<port>/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> -<h2><a name="openid_requests"></a>3.3 Beschreibung der Nachrichten</h2> -<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> +<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> -<h3><a name="openid_req_authnreq"></a>3.2.1 AuthCode Request</h3> -<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 width="1247" border="1"> +<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 width="115" scope="col">Name</th> - <th width="262" scope="col">Beispielwert</th> - <th width="848" scope="col">Beschreibung</th> + <th>Name</th> + <th>Beispielwert</th> + <th>Beschreibung</th> </tr> <tr> <td>client_id</td> @@ -1241,7 +1242,7 @@ Folgende Parameter müssen mit dem AuthCode-Request mitgesendet werden, wobei für </table> <p> </p> <p>Nachfolgend ein Beispiel für einen OpenID Connect Authentifizierungsrequest an das Modul MOA-ID-Auth.</p> -<pre><form method="get" action="https://demo.egiz.gv.at/demoportal_moaid-2.0/oauth2/auth"> +<pre><form method="get" action="https://demo.egiz.gv.at/demoportal_moaid-2.0/oauth3/auth"> <input type="hidden" value="code" name="response_type"> <input type="hidden" value="https://demo.egiz.gv.at/demoportal-openID_demo" name="client_id"> <input type="hidden" value="https://demo.egiz.gv.at/demoportal-openID_demo/securearea.action" name="redirect_uri"> @@ -1249,13 +1250,13 @@ Folgende Parameter müssen mit dem AuthCode-Request mitgesendet werden, wobei für <input type="hidden" value="1152547590" name="state"> <input type="submit" value="OpenID Connect login"> </form></pre> -<h3><a name="openid_req_authnresp"></a>3.2.2 AuthCode Response</h3> +<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 übergeben.</p> -<table width="1247" border="1"> +<table class="configtable"> <tr> - <th width="115" scope="col">Name</th> - <th width="262" scope="col">Beispielwert</th> - <th width="848" scope="col">Beschreibung</th> + <th>Name</th> + <th>Beispielwert</th> + <th>Beschreibung</th> </tr> <tr> <td>state</td> @@ -1271,13 +1272,13 @@ Folgende Parameter müssen mit dem AuthCode-Request mitgesendet werden, wobei für <p> </p> <p>Nachfolgend ein Beispiel für eine AuthCode Response.</p> <pre>https://demo.egiz.gv.at/demoportal-openID_demo/securearea.action?state=1425782214234&code=4/P7q7W91a-oMsCeLvIaQm6bTrgtp7 </pre> -<h3><a name="openid_req_tokenreq"></a>3.2.3 AccessToken Request</h3> +<h4><a name="openid_req_tokenreq"></a>3.2.3 AccessToken Request</h4> <p>Mit dem AccessToken Request können vom Service Provider der Online-Applikation die Anmeldedaten an der MOA-ID-Auth Instanz abgeholt werden. Für die Abholung müssen folgende Parameter mit dem AccessToken Request an MOA-ID-Auth übertragen werden, wobei für die Übertragung der Parameter sowohl http GET als auch http POST verwendet werden kann.</p> -<table width="1247" border="1"> +<table class="configtable"> <tr> - <th width="115" scope="col">Name</th> - <th width="262" scope="col">Beispielwert</th> - <th width="848" scope="col">Beschreibung</th> + <th>Name</th> + <th>Beispielwert</th> + <th>Beschreibung</th> </tr> <tr> <td>grant_type</td> @@ -1307,7 +1308,7 @@ Folgende Parameter müssen mit dem AuthCode-Request mitgesendet werden, wobei für </table> <p> </p> <p>Nachfolgend ein Beispiel für einen AccessToken Request</p> -<pre><form method="POST" action="https://demo.egiz.gv.at/demoportal_moaid-2.0/oauth2/token"> +<pre><form method="POST" action="https://demo.egiz.gv.at/demoportal_moaid-2.0/oauth3/token"> <input type="hidden" value="authorization_code" name="grant_type"> <input type="hidden" value="https://demo.egiz.gv.at/demoportal-openID_demo" name="client_id"> <input type="hidden" value="https://demo.egiz.gv.at/demoportal-openID_demo/securearea.action" name="redirect_uri"> @@ -1315,16 +1316,16 @@ Folgende Parameter müssen mit dem AuthCode-Request mitgesendet werden, wobei für <input type="hidden" value="4/P7q7W91a-oMsCeLvIaQm6bTrgtp7" name="code"> </form></pre> -<h3><a name="openid_req_tokenresp"></a>3.2.4 AccessToken Response</h3> +<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ß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 width="1247" border="1"> +<table class="configtable"> <tr> - <th width="115" scope="col">Name</th> - <th width="262" scope="col">Beispielwert</th> - <th width="848" scope="col">Beschreibung</th> + <th>Name</th> + <th>Beispielwert</th> + <th>Beschreibung</th> </tr> <tr> <td>access_token</td> @@ -1365,20 +1366,20 @@ Folgende Parameter müssen mit dem AuthCode-Request mitgesendet werden, wobei für NzYxMDAxIiwKICJhdWQiOiAiczZCaGRSa3F0MyIsCiAibm9uY2UiOiAibi0wUzZ fV3pBMk1qIiwKICJleHAiOiAxMzExMjgxOTcwLAogImlhdCI6IDEzMTEyODA5Nz AKfQ.ggW8hZ1EuVLuxNuuIJKX_V8a_OMXzR0EHR9R6jgdqrOOF4daGU96Sr_P6q - Jp6IcmD3HP99Obi1PRs-cwh3LO-p146waJ8IhehcwL7F09JdijmBqkvPeB2T9CJ + Jp6IcmD3HP99Obi1PRs-cwh4LO-p146waJ8IhehcwL7F09JdijmBqkvPeB2T9CJ NqeGpe-gccMg4vfKjkM8FcGvnzZUN4_KSP0aAp1tOJ1zZwgjxqGByKHiOtX7Tpd QyHE5lcMiKPXfEIQILVq0pc_E2DzL7emopWoaoZTF_m0_N0YzFC6g6EJbOEoRoS K5hoDalrcvRYLSrQAZZKflyuVCyixEoV9GfNQC3_osjzw2PAithfubEEBLuVVk4 XUVrWOLrLl0nx7RkKU8NXNHq-rvKMzqg" } </pre> -<h3><a name="openid_req_errorresponse" id="openid_req_errorresponse"></a>3.2.5 Error Response</h3> +<h4><a name="openid_req_errorresponse" id="openid_req_errorresponse"></a>3.2.5 Error Response</h4> <p>Sollte während des Authentifizierungsvorgangs ein Fehler auftreten antwortet das Modul MOA-ID-Auth mit einer Error Response. Diese beinhaltet folgende Parameter</p> -<table width="1247" border="1"> +<table class="configtable"> <tr> - <th width="115" scope="col">Name</th> - <th width="262" scope="col">Beispielwert</th> - <th width="848" scope="col">Beschreibung</th> + <th>Name</th> + <th>Beispielwert</th> + <th>Beschreibung</th> </tr> <tr> <td>error</td> @@ -1397,10 +1398,10 @@ Folgende Parameter müssen mit dem AuthCode-Request mitgesendet werden, wobei für </tr> </table> <p> </p> -<h1><a name="saml1"></a>3 SAML 1</h1> +<h2><a name="saml1"></a>3 SAML 1</h2> <p>SAML 1 wird durch MOA-ID-Auth 2.0 auch weiterhin, aus Gründen der Abwärtskompatibilität, als Authentifizierungsprotokoll unterstü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ät, wie sie aus MOA-ID <= 1.5.1 bekannt ist, auch weiterhin unterstützt wird (Bürgerkartenauswahl auf Seiten des Service Provider). Zusätzlich steht für SAML 1 jedoch auch die Funktionalität der automatischen Generierung der Bürgerkartenauswahl durch das Modul MOA-ID-Auth zur Verfügung.</p> -<h2><a name="saml1_sequence" id="saml1_sequence"></a>3.1 Ablauf einer Anmeldung mittels SAML 1</h2> +<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ürgerkartenauswahl beim Service Provider verwenden. 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="saml1_sequence.png" width="936" height="592" alt="Sequenzdiagramm für SAML 1"></p> <ol> @@ -1419,7 +1420,7 @@ Folgende Parameter müssen mit dem AuthCode-Request mitgesendet werden, wobei für <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> -<h2><a name="saml1_zugang" id="saml1_zugang"></a>3.2 Zugangspunkte</h2> +<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ü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://<host>:<port>/moa-id-auth/StartAuthentication</em><br> @@ -1427,7 +1428,7 @@ Folgende Parameter müssen mit dem AuthCode-Request mitgesendet werden, wobei für <li><strong>GetAuthenticationData:</strong> <em>http(s)://<host>:<port>/moa-id-auth/services/GetAuthenticationData</em><br> Unter dieser URL können nach erfolgreicher Authentifizierung die eigentlichen Authentifizierungsdaten am Modul MOA-ID-Auth abgeholt werden.</li> </ul> -<h2><a name="saml1_startauth" id="saml1_zugang2"></a>3.3 StartAuthentication Request</h2> +<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 übergeben werden können.</p> <pre><a href="https://<moa-id-server-und-pfad>/StartAuthentication ?Target=<geschäftsbereich> @@ -1436,11 +1437,11 @@ Folgende Parameter müssen mit dem AuthCode-Request mitgesendet werden, wobei für &Template=<template-url> &useMandate=false &CCC=<ccc>"></pre> -<table width="1247" border="1"> +<table class="configtable"> <tr> - <th width="170" scope="col">Name</th> - <th width="221" scope="col">Beispielwert</th> - <th width="834" scope="col">Beschreibung</th> + <th>Name</th> + <th>Beispielwert</th> + <th>Beschreibung</th> </tr> <tr> <td><moa-id-server-und-pfad></td> @@ -1486,12 +1487,12 @@ Folgende Parameter müssen mit dem AuthCode-Request mitgesendet werden, wobei für <td><strong>Optional:</strong> Die sourceID fließ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> -<h2><a name="saml1_getassertion" id="saml1_zugang3"></a>3.4 GetAuthenticationData Request</h2> +<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äftsbereich und ein SAML-Artifact als Parameter übergeben. </p> <pre><a href="https://<oa-url>?Target=<geschäftsbereich>&SAMLArtifact=<saml-artifact>"></pre> -<table border="1"> +<table class="configtable"> <tbody valign="baseline"> <tr> <td>oa-url></td> @@ -1519,8 +1520,8 @@ Sollte während des Anmeldevorgangs ein Fehler aufgetreten sein, antwortet d <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 <saml:Assertion> zu den Anmeldedaten ist in der <a href="./../spec/MOA_ID_1.4_20070802.pdf">Spezifikation MOA-ID 1.4</a> beschrieben.</p> -<h1><a name="referenzierte_spezifikation" id="uebersicht_zentraledatei_aktualisierung30"></a>A Referenzierte Spezifikation</h1> -<table class="fixedWidth" border="1" cellpadding="2"> +<h2><a name="referenzierte_spezifikation" id="uebersicht_zentraledatei_aktualisierung30"></a>A Referenzierte Spezifikation</h2> +<table class="configtable"> <tbody> <tr> <th>Spezifikation</th> @@ -1560,5 +1561,6 @@ Sollte während des Anmeldevorgangs ein Fehler aufgetreten sein, antwortet d </tr> </tbody> </table> + </div> </body> </html> |