OpenID Connect Server
Mit diesem Plugin kannst du deine eigene WordPress-Installation verwenden, um dich bei einem Webdienst zu authentifizieren, der OpenID Connect anbietet, um Single-Sign On (SSO) für deine Benutzer zu implementieren.
Das Plugin wird derzeit nur über Konstanten und Hooks wie folgt konfiguriert:
RSA-Schlüssel definieren
Wenn du noch keine Schlüssel hast, die du verwenden möchtest, erzeuge sie mit diesen Befehlen:
openssl genrsa -out oidc.key 4096
openssl rsa -in oidc.key -pubout -out public.key
Und mach sie wie folgt für das Plugin verfügbar (dies muss hinzugefügt werden, bevor WordPress geladen wird):
define( 'OIDC_PUBLIC_KEY', <<<OIDC_PUBLIC_KEY
-----BEGIN PUBLIC KEY-----
...
-----END PUBLIC KEY-----
OIDC_PUBLIC_KEY
);
define( 'OIDC_PRIVATE_KEY', <<<OIDC_PRIVATE_KEY
-----BEGIN PRIVATE KEY-----
...
-----END PRIVATE KEY-----
OIDC_PRIVATE_KEY
);
Alternativ kannst du die Dateien auch außerhalb des Webroots ablegen und sie wie folgt aus den Dateien laden:
define( 'OIDC_PUBLIC_KEY', file_get_contents( '/web-inaccessible/oidc.key' ) );
define( 'OIDC_PRIVATE_KEY', file_get_contents( '/web-inaccessible/private.key' ) );
Clients definieren
Definiere deine Clients durch Hinzufügen eines Filters zu oidc_registered_clients in einer separaten Plugin-Datei oder in der functions.php deines Themes oder in einem MU-Plugin wie:
add_filter( 'oidc_registered_clients', 'my_oidc_clients' );
function my_oidc_clients() {
return array(
'client_id_random_string' => array(
'name' => 'The name of the Client',
'secret' => 'a secret string',
'redirect_uri' => 'https://example.com/redirect.uri',
'grant_types' => array( 'authorization_code' ),
'scope' => 'openid profile',
),
);
}
URL vom Caching ausschließen
example.com/wp-json/openid-connect/userinfo: We implement caching exclusion measures for this endpoint by settingCache-Control: 'no-cache'headers and defining theDONOTCACHEPAGEconstant. If you have a unique caching configuration, please ensure that you manually exclude this URL from caching.
GitHub-Repository
Du kannst alle Probleme, auf die du stößt, direkt melden beim Github-Repository: Automattic/wp-openid-connect-server