Logo BKA Dokumentation Logo EGIZ

MOA: Identifikation (ID)

Basis-Installation


Inhalt

  1. Übersicht

  2. Aufruf des MOA-ID-AUTH Web Service

  3. Einsatz von MOA-ID-PROXY zum Abfragen der Anmeldedaten von MOA-ID-AUTH


1 Übersicht

Nach erfolgter Authentisierung stehen in MOA-ID-AUTH Anmeldedaten zum Abholen bereit, und MOA-ID-AUTH veranlasst einen Redirect zur Online-Applikation (OA).

In diesem Redirect werden der Geschäftsbereich und ein SAML-Artifact als Parameter übergeben.
<a href="https://<oa-url>
?Target=<geschäftsbereich>
&SAMLArtifact=<saml-artifact>">
<oa-url> URL, der beim Aufruf von MOA-ID-AUTH als Parameter "OA" übergeben wurde
Target=<geschäftsbereich> Parameter, der beim Aufruf von MOA-ID-AUTH übergeben wurde
SAMLArtifact=<saml-artifact> 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.

Grundsätzlich stehen einer OA mehrere Arten zum Abholen der Anmeldedaten von MOA-ID-AUTH zur Verfügung:
  1. Die Applikation ruft selbst das MOA-ID-AUTH Web Service auf.
    Die Implementierung dieser Variante wird empfohlen, insbesondere für Online-Applikationen, die neu erstellt werden.
  2. Es wird die MOA-ID-PROXY Webapplikation eingesetzt, um die Anmeldedaten abzuholen und an die OA zu übergeben.
    Aus Sicht von MOA-ID-PROXY ist bedeutsam, ob die OA die Anmeldedaten nach Abarbeitung des HTTP-Requests behält. Diese Variante ist vorzuziehen, wenn

2 Aufruf des MOA-ID-AUTH Web Service

Das MOA-ID-AUTH Web Service wird über einen <samlp:Request> aufgerufen. Der <samlp:Request> enthält in einem <samlp:AssertionArtifact> das von MOA-ID-AUTH übergebene SAML-Artifact.

MOA-ID-AUTH liefert als Antwort einen <samlp:Response>. Die Anmeldedaten sind im <samlp:Response> in Form einer <saml:Assertion> enthalten.

Der detaillierte Aufbau der <saml:Assertion> zu den Anmeldedaten ist in der Spezifikation MOA-ID 1.4 beschrieben.

Beispiel LoginServletExample Das Abholen der Anmeldedaten durch Aufruf des Web Service von MOA-ID-AUTH wird anhand eines beispielhaften Java Servlet gezeigt. Das LoginServletExample wird in einer Stateful OA von MOA-ID-AUTH nach erfolgter Authentisierung über Redirect aufgerufen.

Das Beispiel demonstriert insgesamt die Integration von MOA-ID-AUTH in die OA:

Voraussetzungen
Die folgende Liste enthält die für das Beispiel erforderlichen Java-Bibliotheken. Die angeführten Versionsnummern bezeichnen jene Versionen dieser Java-Bibliotheken, mit denen das Beispiel getestet wurde.

Java-Bibliothek Version Bemerkung
JDK 1.4.0+, 1.5.0 Java Development Kit
Xerces
XML Parser
2.0.2+ Download: xml.apache.org/xerces2-j
AXIS
SOAP Framework
1.0+ Download: xml.apache.org/axis
Jaxen XPath Engine 1.0+ Download: http://jaxen.sourceforge.net
Servlet API 2.3+ Download: java.sun.com/products/servlet

Code
LoginServletExample

3 Einsatz von MOA-ID-PROXY zum Abfragen der Anmeldedaten von MOA-ID-AUTH

Anstatt den Aufruf des MOA-ID-AUTH Web Service in der OA zu implementieren, kann die MOA-ID-PROXY Webapplikation eingesetzt werden, um dies für die OA zu erledigen. MOA-ID-PROXY muss für die OA konfiguriert werden, so wie in MOA-ID-Administration beschrieben.

Bei der Konfiguration ist speziell zu beachten:

Konfigurationsdatei zur OA
Der LoginType (stateful oder stateless) ist gemäß dem Applikationstyp zu setzen.

Die Übergabe der Anmeldedaten ist in Form und Inhalt zu konfigurieren. LoginParameterResolver
Das Übergabe der Anmeldedaten an die OA über Request Parameter oder Header geschieht in einer Standardimplementierung des Interface
at.gv.egovernment.moa.proxy.LoginParameterResolver
Falls die Erfordernisse der OA mittels Konfiguration nicht abgedeckt werden können, so kann eine maßgeschneiderte Implementierung von LoginParameterResolver erstellt und zusammen mit MOA-ID-PROXY zum Einsatz gebracht werden (siehe API).

ConnectionBuilder Das Herstellen einer URL-Verbindung von MOA-ID-PROXY zur OA geschieht einer Standardimplementierung des Interface
at.gv.egovernment.moa.proxy.ConnectionBuilder 
Falls nötig, kann eine maßgeschneiderte Implementierung von ConnectionBuilder erstellt und zusammen mit MOA-ID-PROXY zum Einsatz gebracht werden (siehe API).