...
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
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.
Codeblock | ||||||
---|---|---|---|---|---|---|
| ||||||
// 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, ]; |