...
Codeblock | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
$newShopCustomer = new Customer(); $newShopCustomer->userName = 'max.mustermann'; $newShopCustomer->password = 'supersecurepasswordforuser1234'; $newShopCustomer->status = 'OK'; $newShopCustomer->ssoLoginOnly = 1; $ssoData = [ 'user' => $newShopCustomer, 'redirect_uri' => '/', 'callback_uri' => 'https://my.sytem.dev/sso_callback.php', 'logout_uri' => 'https://my.system.dev/sso_logout.php', 'error_uri' => 'https://my.system.dev/sso_login_failed.php' ]; // Encrypt ssoData $cipher = 'AES-256-CBC'; $ssoPassword = 'ssoPasswordFromModuleSettings'; // Hier muss das hinterlegte Passwort aus den Moduleinstellungen angegeben werden if (in_array($cipher, openssl_get_cipher_methods())) { $cipherInitializationVector = substr( hash( 'sha256', $ssoPassword ), 0, openssl_cipher_iv_length($cipher) ); $encodedDataString = openssl_encrypt( http_build_query($ssoData), $cipher, $ssoPassword, 0, $cipherInitializationVector ); $ssoLoginUri = 'http://www.shop.printshop.local/sso/login?data=' . rawurlencode($encodedDataString); } else { exit('encoding not available.'); } |
Verifizierung eines Benutzerzugriffs
Um einen Benutzerzugriff durch ein externes System zu verifizieren, kann zusätzlich das Modul "SSO Verifizierung" aktiviert werden.
Ist das Modul aktiviert, steht innerhalb der Verwaltung im Bereich "Addons » SSO Verifizierung" die Konfiguration für jeden Shop zur Verfügung, in der eine Verifizierungs-URL hinterlegt werden kann. Diese wird mit den Parametern user
und user-id
aufgerufen. Als Rückgabe wird ein JSON-Objekt erwartet mit folgenden Eigenschaften:
{
"user-id":"", // Bei erfolgreicher Prüfung wird hier die Benutzer-Kennung zurückgegeben
"hook_url":"" // Optionale URL für den Rücksprung
}