Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

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

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

POST-Variablen

  • encodedUserData

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

  • encodedUserData = bmtTZHlIZ3JDTFc5UXZBcnI1Y1dBdE.....Ss=

Parameter

VariablennameFormatInfoInfo
request_timeDateTime::ISO8601

usernamestring

passwordstring
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.

Codeblock
languagephp
titleSSO Backend CodeBeispiel
linenumberstrue
// Ein Objekt erstellen, welches die benötigten Variablen hat.
$userData = new stdClass();
$userData->request_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
$iv = substr(hash('sha256', 'aes-256-cbc'), 0, 16);
$encodedUserData = openssl_encrypt(
    $jsonEncodedUserData,
    'aes-256-cbc',
    'passphraseToEncrypt',
    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 . DIRECTORY_SEPARATOR . $encodedUserData;
$postVariables = [
   'encodedUserData' => $encodedUserData,
];