SAML 2.0

Flexperto bietet über das SAML 2.0 Protokoll Nutzerauthentifizierung an (sogenanntes Single-Sign-On). Dieses Dokument erklärt, wie die Flexperto-Plattform (als SAML-Service-Provider) mit dem System welches die Authentifizierung durchführt (der SAML-Identity-Provider) kommuniziert und wie das Log-in-Verfahren für Nutzer aussieht.

Log-in-Verfahren aus Nutzersicht

  1. Nutzer gehen auf die Flexperto-Plattform und klickt auf Login. Es wird folgende Seite angezeigt, auf der bei Wunsch das Login via E-Mail und Flexperto-Passwort (rot makiert) ausgeschaltet werden kann und dem Nutzer dann nicht mehr angezeigt wird.

     

  2. Um das Single-Sign-On verfahren zu starten, klicken Nutzer auf den grün markierten Link, um zum System weitergeleitet zu werden, welches die Authentifizierung durchführt.

  3. Bei erfolgreicher Authentifizierung werden Nutzer zurück zur Flexperto-Plattform geleitet. Diese validiert die zurückgespielten Informationen.

    • Sollte der Nutzer noch keinen Flexperto-Account haben, muss der Nutzer einmalig den Registrierungsvorgang abschließen. Im Gegensatz zum normalen Registrierungsprozess wird hierbei kein Passwort benötigt. Nachdem dieser Vorgang abgeschlossen ist, kann der Nutzer die Plattform benutzen und wird zum Flexperto-Dashboard weitergelitet.

    • Sollte der Nutzer bereits ein Flexperto-Account haben, wird der Registrierungsprozess übersprungen und Nutzer werden direkt zum Flexperto-Dashboard weitergeleitet.

Datenfluss zwischen den Systemen

Grundsätzlich benötigt die Flexperto-Plattform sowie das System, welches die Authentifizierung durchführt (Authentifizierungssystem), verschiedene Konfigurationen. Hierbei wird unter anderem spezifiziert:

  • Wo sich das Authentifizierungssystem befindet (URL).

  • Wie der Nutzer zum Authentifizierungssystem weitergeleitet wird (Redirect).

  • Wohin die Login Antwort zurück an die Flexperto-Plattform geschickt werden soll (URL).

  • Wie die Login Antwort zurück an die Flexperto-Plattform geschickt werden soll (POST).

Des Weiteren werden den Systemen Kryptografieschlüssel des jeweils anderen Systemes zur Verfügung gestellt. Hierdurch werden die Daten vor eventuellen Nutzermanipulationen geschützt. Dies ist nötig, da die Systeme nie direkt miteinander Kommunizieren, sondern immer nur über den Browser von Nutzern.

Der Datenfluss einer Standardkonfiguration ist in folgendem Diagramm dargestellt:

Besonderheiten

  • Um die Sicherheit in diesem Prozess zu Erhöhen überprüft die Flexperto-Plattform, dass der gleiche Browser Schritt #1 und Schritt #6 durchführt. Hierzu werden im Schritt #1 Session-Cookies im Browser gesetzt, welche im Schritt #6 mitgeschickt werden müssen. Daher unterstützt die Flexperto-Plattform kein SAML Loginvorgang, die nicht durch die Plattform ausgelöst wurden (sogenante Identity-Provider-Initiated Single Sign-On).

  • Aktuell akzeptiert die Flexperto-Plattform nur die Login Antwort (SAML Response) als HTTP-POST-Request.

  • Die Flexperto-Plattform unterstützt aktuell keine Artifact Bindings. Die Nutzerattribute müssen, wie im Diagram gezeigt, bei der Login Antwort (SAML Response) mitgeschickt werden.