From b232b84093993571da6efa97c25e1724370d6a6d Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Wed, 12 Jun 2019 13:47:10 +0200 Subject: update handbook --- .../doc/handbook_v4/application/application.html | 220 +++++++++++++++++++++ id/server/doc/handbook_v4/application/iframe.png | Bin 0 -> 86175 bytes .../doc/handbook_v4/application/login_button.PNG | Bin 0 -> 70066 bytes .../doc/handbook_v4/application/mainframe.PNG | Bin 0 -> 59073 bytes .../handbook_v4/application/sso_sendassertion.PNG | Bin 0 -> 6041 bytes 5 files changed, 220 insertions(+) create mode 100644 id/server/doc/handbook_v4/application/application.html create mode 100644 id/server/doc/handbook_v4/application/iframe.png create mode 100644 id/server/doc/handbook_v4/application/login_button.PNG create mode 100644 id/server/doc/handbook_v4/application/mainframe.PNG create mode 100644 id/server/doc/handbook_v4/application/sso_sendassertion.PNG (limited to 'id/server/doc/handbook_v4/application') diff --git a/id/server/doc/handbook_v4/application/application.html b/id/server/doc/handbook_v4/application/application.html new file mode 100644 index 000000000..60732acaf --- /dev/null +++ b/id/server/doc/handbook_v4/application/application.html @@ -0,0 +1,220 @@ + + + + + + MOA-ID - Anwendungen + + + + +
+
+ +

MOA-ID-AUTH

+
+
+
+
+

Anwendungen

+ +

Inhalt

+
    +
  1. Allgemeines
  2. +
  3. Integration in bestehende Online-Applikationen +
      +
    1. Bürgerkartenauswahl +
        +
      1. Request aus einem iFrame
      2. +
      3. Request aus dem Hauptframe
      4. +
      +
    2. +
    3. Single Sign-On Anmeldeabfrage
    4. +
    +
  4. +
  5. Demo Applikationen +
      +
    1. PVP 2.1 Demo +
        +
      1. Installation
      2. +
      3. Konfiguration Demo Applikation
      4. +
      5. Konfiguration von MOA-ID-Auth
      6. +
      7. Anwendung
      8. +
      +
    2. +
    +
  6. +
+ +

1 Allgemeines

+

Das erste Kapitel behandelt die Integration der von MOA-ID-Auth generierten Bürgerkartenauswahl in bestehende Online-Applikationen. Zusätzlich zur Beschreibung ist MOA-ID auch eine PVP 2.1 Demo Applikation beigelegt. Die Konfiguration und Verwendung dieser Demo Applikation ist Inhalt des letzten Kapitels.

+

2 Integration in bestehende Online-Applikationen

+

Ab MOA-ID 2.0 wird die Bürgerkartenauswahl und die Single Sign-On Anmeldeabfrage standardmäßig vom Modul MOA-ID-Auth bereitgestellt und muss nicht mehr durch den Service Provider implementiert werden.

+

Die im Modul MOA-ID-Auth hinterlegten Standard Templates (Bürgerkartenauswahl, Single Sign-On Anmeldeabfrage) unterstützt Responsive Design und passt sich somit in einem weiten Bereich an die aktuelle Fenstergröße an, wodurch eine individuelle Integration der von MOA-ID-Auth erzeugten Formulare möglich ist. Zusätzlich bietet das Konfigurationstool die Möglichkeit der online-applikationsspezifischen Anpassung der Standard Templates. Mit dieser Funktion können einzelne Parameter der Standard Templates an die Online-Applikation individualisiert werden um die Integration weiter zu verfeinern.

+

Hinweis: Es besteht jedoch auch die Möglichkeit der Hinterlegung von vollständig benutzerdefinierten online-applikationsspezifischen Templates für die Bürgerkartenauswahl und die Single Sign-On Anmeldeabfrage (siehe hier).

+

2.1 Bürgerkartenauswahl

+

Die Bürgerkartenauswahl wird ab MOA-ID 2.0 standardmäßig von MOA-ID-Auth, als Antwort auf einen eingehenden Authentifizierungsrequest, bereitgestellt. Dem zu Folge müssen die aus MOA-ID 1.5.1 bekannten Parameter (target, bkuURL, template, usemandate) nicht mehr im Authentifizierungsrequest an MOA-ID-Auth übergeben werden und es kann ein standardkonformer Protokollrequest verwendet werden. Die aus MOA-ID 1.5.1 bekannte Variante der Bürgerkartenauswahl in der Online-Applikation des Service Providers steht jedoch weiterhin als Legacy Variante zur Verfügung.

+

Die Integration der von MOA-ID-Auth bereitgestellten Bürgerkartenauswahl in eine bestehende Online-Applikation kann auf zwei Arten erfolgen. Bei beiden Varianten erfolgt der Login Vorgang (senden des Authentifizierungsrequests an MOA-ID-Auth) durch den Klick auf einen Login Button. Die Auswahl der Bürgerkartenumgebung erfolgt somit erst im zweiten Schritt. Das Sequenzdiagramm eines solchen Anmeldevorgangs finden Sie hier und die nachfolgende Grafik zeigt ein Beispiel zur Integration eines Login Buttons.

+
Integration Login Button
+

2.1.1 Request aus einem iFrame

+

Bei dieser Variante wird der Authentifizierungsrequests aus einem iFrame, welcher in die Online-Applikation eingebunden ist, abgesetzt. MOA-ID-Auth antwortet auf diesen Request mit der konfigurierten Bürgerkartenauswahl welche durch Verwendung des iFrame in die Online-Applikation eingebunden werden kann. Die nachfolgende Grafik zeigt ein Beispiel für die von MOA-ID-Auth bereitgestellte Bürgerkartenauswahl, welche nach Betätigung des Login Buttons im iFrame dargestellt wird.

+
Bürgerkartenauswahl im iFrame
+

Hinweis: Bei dieser Variante wird die Assertion ebenfalls an den iFrame ausgeliefert wodurch der authentifizierte Bereich der Online-Applikation im iFrame dargestellt wird. Dieses Verhalten kann durch eine online-applikationsspezifischen Anpassung der Standard Templates und dem Parameter Targetparameter unterbunden werden.

+

2.1.2 Request aus dem Hauptframe

+

Bei dieser Variante wird der Authentifizierungsrequests direkt aus dem aktuell offenen Browserfenster an MOA-ID-Auth gesendet. In diesem Fall wird die Bürgerkartenauswahl fensterfüllend im Browser dargestellt und die Benutzerin oder der Benutzer befindet sich nicht mehr in der Domain der Online-Applikation (Service Provider). Nach erfolgreicher Authentifizierung wird die Benutzerin oder der Benutzer an die Online-Applikation zurückgeleitet. Die nachfolgende Grafik zeigt die Bürgerkartenauswahl im seitenfüllenden Layout.

+
Bürgerkartenauswahl im seitenfüllenden Layout
+

2.2 Single Sign-On Anmeldeabfrage

+

Wird für die Integration in die Online-Applikation die Variante mit dem Login Button und der von MOA-ID-Auth bereitgestellten Bürgerkartenauswahl verwendet (iFrame oder Hauptframe), ergeben sich für die Single Sign-On Anmeldeabfrage keine zusätzlichen Anforderungen. Im Falle einer aktiven Single Sign-On Session, würde MOA-ID-Auth mit der Single Sign-On Anmeldeabfrage anstatt der Bürgerkartenauswahl antworten. Auch in diesem Fall stehen beide Möglichkeiten der Integration, identisch zum Kapitel Bürgerkartenauswahl, zur Verfügung. Die nachfolgende Grafik zeigt eine Single Sign-On Abfrage welche je nach verwendeter Variante die Bürgerkartenauswahl, in den zuvor gezeigten Beispielen, ersetzen würde.

+
Single Sign-On Anmeldeabfrage
+

Hinweis: Wird für die Integration der Bürgerkartenauswahl jedoch die Legacy Variante verwendet (direkte Integration der Bürgerkartenauswahl in die Online-Applikation) kann es zu Inkompatibilitäten mit der Single Sign-On Anmeldeabfrage kommen, da diese Abfrage von MOA-ID-Auth generiert werden muss und eine direkte Integration in eine Online-Applikation nicht möglich ist.

+

3 Demo Applikationen

+

Dieser Abschnitt behandelt die Konfiguration und Verwendung der bei MOA-ID beigelegten Demo Applikationen.

+

3.1 PVP 2.1 Demo

+

Die PVP 2.1 Demo stellt das Minimalbeispiel einer Online-Applikation dar, welche zur Authentifizierung das Protokoll PVP 2.1 verwendet. Die nachfolgenden Abschnitte beschreiben die Installation, Konfiguration und Verwendung der PVP 2.1 Demo Applikation.

+

Hinweis: Der Source Code der PVP 2.1 Demo Applikation ist im Order $MOA_ID_AUTH_INST/source/moa-id-oa verfügbar. Jedoch ist die Validierung der PVP 2.1 Assertion in dieser Version nicht vollständig implementiert und müsste bei Verwendung in einem Produktivsystem noch erweitert werden.

+

3.1.1 Installation

+

Für die Installation der Demo Applikation wird ein Apache Tomcat benötigt. Die Konfiguration dieser Tomcat Instanz ist identisch zur Konfiguration der Tomcat Instanz der Module MOA-ID-Auth und MOA-ID-Configuration.

+
3.1.1.1 Einsatz der Demo Applikation in Tomcat
+ +
3.1.1.2 Einsatz der Demo Applikation in Tomcat
+

Das starten und stoppen der Demo Applikation erfolgt identisch zur Beschreibung für die Module MOA-ID-Auth und MOA-ID-Configuration.

+

Ein erfolgreicher Start der Demo Applikation ist an folgender Log-Meldung ersichtlich:

+
INFO at.gv.egovernment.moa.id.demoOA.Configuration  - Demo Application initializaten finished.
+

Nach dem Starten von Tomcat steht die Demo Applikation zur Verfügung.

+
http://<host>:<port>/moa-id-oa/
+

bzw.

+
+https://<host>:<port>/moa-id-oa/
+
+

3.1.2 Konfiguration Demo Applikation

+

Die zentrale Konfigurationsdatei für die Demo Applikation wird der Java Virtual Machine, in der die Demo Applikation läuft, durch eine System Property mitgeteilt (wird beim Starten der Java Virtual Machine in der Form -D<name>=<wert> gemacht). Der Name der System Property lautet moa.id.demoOA als Wert der System Property ist der Pfad sowie der Name der Konfigurationsdatei im Dateisystem anzugeben, z.B.

+
moa.id.demoOA=C:/Programme/apache/tomcat-4.1.30/conf/moa-id-oa/oa.properties
+

Diese Konfigurationsdatei beinhaltet folgende Parameter.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameBeispielwertBeschreibung
general.publicURLContexthttps://localhost:8443/moa-id-oa

URL unter der das Modul MOA-ID-OA erreichbar ist.

+

Hinweis: Ist dieser Parameter nicht vorhanden wird die URL aus dem ersten Request generiert.

general.login.pvp2.idp.metadata.urlhttps://demo.egiz.gv.at/moa-id-auth/
+ pvp2/metadata
URL unter der die PVP2.1 Metadaten des IDP abgeholt werden können.
general.login.pvp2.idp.metadata.certificatekeys/moa_idp.crtZertifikat mit dem die PVP2.1 Metadaten des IDP signiert sind. Dieses Zertifikat wird zur Prüfung der IDP Metadaten verwendet.
general.login.pvp2.idp.metadata.entityIDhttps://demo.egiz.gv.at/moa-id-auth/pvp2/metadataEntityID des IDP in den Metadaten (Details siehe PVP2.1 Spezifikation)
general.login.pvp2.idp.sso.logout.urlhttps://demo.egiz.gv.at/moa-id-auth/LogOut?redirect=
+ https://demo.egiz.gv.at/moa-id-oa
URL zum Single Log-Out (SLO) Service des IDP. Details zum SLO Service von MOA-ID-Auth finden Sie hier.
general.login.pvp2.metadata.entities.namePVP 2.1 DemoName der Applikation, welcher in den Metadaten der Applikation angegeben wird
general.login.pvp2.keystore.urlkeys/application[password].p12Keystore mit Schlüssel und Zertifikaten welche für das signieren und verschlüsseln der PVP2.1 Nachrichten verwendet werden sollen.
general.login.pvp2.keystore.passwordpasswordPasswort des Keystores
general.login.pvp2.keystore.typePKCS12

Type des Keystores. Aktuell werden folgende Keystore Typen unterstützt

+
    +
  • PKCS12: PKCS12 Keystore
  • +
  • JKS: Java-Keystore
  • +
general.login.pvp2.keystore.metadata.key.aliaspvp_metadataName des Schlüssels der zum Signieren der Metadaten des Modules MOA-ID-Configuration verwendet werden soll
general.login.pvp2.keystore.metadata.key.passwordpasswordPasswort des Schlüssels der zum Signieren der Metadaten verwendet werden soll.
general.login.pvp2.keystore.authrequest.encryption.key.aliaspvp_encryptionName des Schlüssels der zum Verschlüsseln der Anmeldeinformation, welche vom IDP an das Konfigurationstool übermittelt, verwendet werden soll
general.login.pvp2.keystore.authrequest.encryption.key.passwordpasswordPasswort des Schlüssels zum Verschlüsseln der Anmeldeinformation.
general.login.pvp2.keystore.authrequest.key.aliaspvp_requestName des Schlüssels zum Signieren des Authentifizierungsrequests der an den IDP gestellt wird.
general.login.pvp2.keystore.authrequest.key.passwordpasswordPasswort des Schlüssels zum Signieren des Authentifizierungsrequests.
+

 

+

Die Metadaten des Modules MOA-ID-Configuration werden dynamisch erstellt und stehen unter folgender URL zum Download bereit.

+
+http://<host>:<port>/moa-id-oa/servlet/metadata
+

bzw.

+
+https://<host>:<port>/moa-id-oa/servlet/metadata
+

Nach erfolgreicher Konfiguration muss die Tomcat Instanz neu gestartet werden.

+

3.1.3 Konfiguration von MOA-ID-Auth

+

Bevor ein Anmeldevorgang gestartet werden kann muss die Demo Applikation auch als Online-Applikation für das Modul MOA-ID-Auth konfiguriert werden. Hierfür kann das Konfigurationstool (Modul MOA-ID-Configuration) verwendet werden. Tragen Sie die Demo Applikation als Online-Applikation bei Ihrer MOA-ID-Auth Instanz ein. Eine Beschreibung der einzelnen Konfigurationsparameter finden Sie hier.

+

3.1.4 Anwendung

+

Nach dem Starten von Tomcat steht die Demo Applikation zur Verfügung.

+
http://<host>:<port>/moa-id-oa/
+

bzw.

+
+https://<host>:<port>/moa-id-oa/
+
+

Die Startseite der Demo Applikation beinhaltet einen kurzen Beschreibungstext und den Login Button zum Start des Anmeldevorgangs. Für die Integration der Bürgerkartenumgebung verwendet die Demo die im Kapitel 2.1.1 beschriebene iFrame Variante. Nach Betätigung des Login Buttons wird der Anmeldevorgang gestartet. Der Protokollablauf ist identisch zu dem im Kapitel Protokolle beschriebenen Ablauf für das PVP 2.1 Protokoll.

+

Konnten die Metadaten und der Authentifizierungsrequest erfolgreich verifiziert werden, wird anschließend die Bürgerkartenauswahl in der Hauptseite der Demo Applikation dargestellt. Wählen Sie nur die gewünschte Authentifizierungsvariante. Danach erfolgt die Authentifizierung mittels der gewählten Variante.

+

Nach erfolgreicher Authentifizierung werden Sie an die Demo Applikation zurückgeleite. Diese extrahiert einige Basisdaten aus der PVP 2.1 Assertion und stellt diese im Browser dar. Zusätzlich kann die gesamte übertragene PVP 2.1 Assertion angezeigt werden.

+

Wurde der Anmeldevorgang durch einen Fehler abgebrochen werden Sie ebenfalls an die Demo Applikation zurückgeleitet. In diesem Fall wird eine kurze Fehlerbeschreibung dargestellt. Eine ausführliche Fehlerbeschreibung kann der PVP 2.1 Assertion entnommen werden.

+

 

+
+ + diff --git a/id/server/doc/handbook_v4/application/iframe.png b/id/server/doc/handbook_v4/application/iframe.png new file mode 100644 index 000000000..dcc6a932d Binary files /dev/null and b/id/server/doc/handbook_v4/application/iframe.png differ diff --git a/id/server/doc/handbook_v4/application/login_button.PNG b/id/server/doc/handbook_v4/application/login_button.PNG new file mode 100644 index 000000000..36d8921ce Binary files /dev/null and b/id/server/doc/handbook_v4/application/login_button.PNG differ diff --git a/id/server/doc/handbook_v4/application/mainframe.PNG b/id/server/doc/handbook_v4/application/mainframe.PNG new file mode 100644 index 000000000..0e597d3fc Binary files /dev/null and b/id/server/doc/handbook_v4/application/mainframe.PNG differ diff --git a/id/server/doc/handbook_v4/application/sso_sendassertion.PNG b/id/server/doc/handbook_v4/application/sso_sendassertion.PNG new file mode 100644 index 000000000..1a2ca6a67 Binary files /dev/null and b/id/server/doc/handbook_v4/application/sso_sendassertion.PNG differ -- cgit v1.2.3