SSO-Schnittstelle Backend

Das Modul heißt SSO-Schnittstelle Backend (SsoBackend).

Modulkonfiguration

Aktivieren

Aktiviert das Modul.

Passphrase

Verschlüsselungspasswort

Verschlüsselungsverfahren

das Verfahren mit dem Verschlüsselt werden soll.

Request-Time-Out

Die Zeit, in dem der Request verwendet werden kann.

IP Filter

Hier eine oder mehrere IP-Adressen eintragen, von denen aus der SSO-Login zum Shop erlaubt ist. Mehrere Einträge werden per Semikolon getrennt (z.B. 192.168.1.1;192.168.1.2); Requests von allen anderen IPs werden mit HTTP 403 abgewiesen. Der Filter lässt sich über den URL-Parameter.

Referer-Filter

Hier einen Regex mit Delimitern eintragen (z.B. /www\.domain\.de/), der gegen den Referer-Header des eingehenden Requests geprüft wird. Requests ohne Referer oder mit nicht passendem Referer werden mit HTTP 403 abgewiesen; die Fehlermeldung kann über das Feld „Referer-Fehlertext" angepasst werden — bleibt es leer, erscheint der Default „Referer nicht erlaubt".

Nur Benutzer mit SSO Option zulassen

Ist diese Option aktiviert, muss jeder einzelne Benutzer entsprechend die Option "Für SSO freischalten" aktiviert haben.

Hinweis zur Benutzeroption

Ist diese Option aktiviert, ist die SSO Anmeldung für die Dienstleister nicht mehr möglich.

Standardanmeldung deaktiveren

Es kann sich keiner mehr im über die normal Loginseite anmelden und es geht nur noch über die SSO Anbindung.

SSO Anmeldung ohne Passwort erlauben?

Es wird das Passwort nicht auf Richtigkeit geprüft.

Hinweis zur Anmeldung ohne Passwort

Dies sollte nur in Verbindung mit einem IP Filter, oder dem deaktivieren des Stanardlogins verwendet werden.

Benutzerkonfiguration

Für SSO freischalten

Wenn im Modul die Option "Nur Benutzer mit SSO Option zulassen" aktiviert ist, dann greift diese einstellung für den Benutzer und es dürfen sich per SSO nur die Benutzer anmelden, bei denen diese Option aktiviert ist.

Implementierung

In diesem Abschnitt wird erklärt, wie es eingesetzt werden kann.

Pfad

Der Pfad muss wie folgt aufgebaut sein und es wird nur ein POST aufruf erwartet:

<admin-domain>/sso/<client-id>

POST-Variablen

  • encodedUserData

z.B. https://admin.lead-print.com/sso/1461

  • encodedUserData = bmtTZHlIZ3JDTFc5UXZBcnI1Y1dBdE.....Ss=

Parameter

Variablenname

Format

Info

Info

request_time

DateTime::ISO8601

username

string

password

string

nicht benötigt, bei Option: SSO Anmeldung ohne Passwort erlauben

Beispiel

Anhand des folgenden PHP Beispiels wird gezeigt, wie die Daten an die entsprechende URL übergeben werden muss.

SSO Backend CodeBeispiel
phpwide1800request_time = (new DateTime())->format(DateTime::ISO8601); $userData->username = 'username'; $userData->password = 'userPassword'; // Damit dies übermittelt werden kann, muss dies als JSON-String umgewandelt werden. $jsonEncodedUserData = json_encode($userData); // Verschlüsseln $passphrase = 'passphraseToEncrypt'; $iv = substr(hash('sha256', $passphrase), 0, 16); $encodedUserData = openssl_encrypt( $jsonEncodedUserData, 'aes-256-cbc', $passphrase, false, $iv ); // Es muss nun noch base64 encoded werden, damit der Browser dies nicht falsch interpretiert. $encodedUserData = base64_encode($encodedUserData); // Erstellen des Pfad für die Backend-Domain $backendRootPath = '/sso/' . $client->id; $postVariables = [ 'encodedUserData' => $encodedUserData, ];]]>