MOD_AUTH_OPENIDC ist ein OpenID -Certified ™ Authentifizierungs- und Autorisierungsmodul für den Apache 2.x HTTP -Server, der die OpenID Connect -Funktionalität implementiert.
Mit diesem Modul können ein Apache 2.x -Webserver als OpenID Connect Relying Party (RP) in Richtung eines OpenID -Anbieters (OP) arbeiten. Es gibt die Endbenutzerauthentifizierung an einen Anbieter weiter und empfängt Benutzeridentitätsinformationen von diesem Anbieter. Anschließend werden diese Identitätsinformationen (AKA Ansprüche) an Anwendungen weitergegeben, die vom Apache -Webserver geschützt sind, und erstellt eine Authentifizierungssitzung für den identifizierten Benutzer.
Die geschützten Inhalte, Anwendungen und Dienste können vom Apache -Server selbst gehostet werden oder von Origin -Server, der dahinter befindet, dadurch dient, indem Apache als Reverse -Proxy vor diesen Servern konfiguriert wird. Letzteres ermöglicht das Hinzufügen von OpenID-basierter Authentifizierung zu vorhandenen Anwendungen/Diensten/SPAs, ohne diese Anwendungen zu ändern und sie möglicherweise von Legacy-Authentifizierungsmechanismen zu Standards-basierten OpenID-Konnektions-Einzelzeichen auf (SSO) zu migrieren.
Standardmäßig legt das Modul die REMOTE_USER -Variable auf den Anspruch id_token [sub] fest, der mit der Identifikatorin des OP ( [sub]@[iss] ) verkettet ist. Andere id_token -Ansprüche werden in HTTP -Headern und/oder Umgebungsvariablen zusammen mit denen (optional) übergeben, die vom UserInfo -Endpunkt erhalten wurden. Die bereitgestellten HTTP -Header und Umgebungsvariablen können von Anwendungen konsumiert werden, die vom Apache -Server geschützt sind.
Benutzerdefinierte Regeln für feinkörnige Autorisierungsregeln - basierend auf Apache Require -Primitiven - können angegeben werden, um mit den in den Ansprüchen id_token / userinfo angegebenen Ansprüchen übereinzustimmen, siehe hier. Das Clustering für Resilienz und Leistung kann mithilfe einer der hier aufgeführten unterstützten Cache -Backends -Optionen konfiguriert werden.
Eine vollständige Übersicht über alle Konfigurationsoptionen finden Sie in der Datei auth_openidc.conf . Diese Datei kann auch als Include -Datei für httpd.conf dienen.
MOD_AUTH_OPENIDC ist OpenID Certified ™ und unterstützt die folgenden Spezifikationen:
Die Dokumentation finden Sie im Wiki (einschließlich häufig gestellter Fragen) unter:
https://github.com/openidc/mod_auth_openidc/wiki
Für Fragen, Probleme und Vorschläge verwenden Sie das GitHub Diskussions -Forum unter:
https://github.com/openidc/mod_auth_openidc/discussions
Für kommerzielle - Abonnementbasiert - Support und Lizenzierung bitte wenden Sie sich an:
[email protected]
Beispielkonfiguration für die Verwendung von Google als OpenID -Anbieter, der unter www.example.com und https://www.example.com/example/redirect_uri als redirect_uri für den Client über die Google API -Konsole ausgeführt wird. Sie müssen auch die Google+ API unter APIs & auth in der Google API -Konsole aktivieren.
OIDCProviderMetadataURL https://accounts.google.com/.well-known/openid-configuration
OIDCClientID < your -client-id-administered-through-the-google-api-console>
OIDCClientSecret < your -client-secret-administered-through-the-google-api-console>
# OIDCRedirectURI is a vanity URL that must point to a path protected by this module but must NOT point to any content
OIDCRedirectURI https://www.example.com/example/redirect_uri
OIDCCryptoPassphrase < password >
< Location /example/>
AuthType openid-connect
Require valid-user
</ Location > Beachten Sie, dass Sie die Anmeldungen an eine bestimmte Google Apps-Domäne sicher einschränken möchten, email Sie die hd=<your-domain> Require claim nicht nur zur primitiven OIDCAuthRequestParams für das Überspringen OIDCScope Google Account Location -Bildschirms hinzufügen.
OIDCScope " openid email "
Require claim hd:< your -domain>Das obige ist ein Autorisierungsbeispiel für eine genaue Übereinstimmung mit einem angegebenen Anspruch gegen einen Stringwert. Weitere Autorisierungsoptionen finden Sie auf der Wiki -Seite zur Autorisierung.
mod_auth_openidc.so in Ihrem Apache -ServerAuthType openid-connectOIDCRedirectURI auf eine "Waschtisch" -URL innerhalb eines Ortes, der von mod_auth_openidc geschützt istOIDCClientID -Anbieter und OIDCClientSecretOIDCRedirectURI als Umleitungs- oder Rückruf -URI mit Ihrem Kunden beim AnbieterOIDCProviderMetadataURL , sodass sie auf die Erkennungsmetadaten Ihres OpenID .well-known/openid-configuration Anbieters verweistOIDCCryptoPassphrase für Sitzungs-/Zustandsverschlüsselungszwecke LoadModule auth_openidc_module modules/mod_auth_openidc.so
OIDCProviderMetadataURL < issuer >/.well-known/openid-configuration
OIDCClientID < client _id>
OIDCClientSecret < client _secret>
# OIDCRedirectURI is a vanity URL that must point to a path protected by this module but must NOT point to any content
OIDCRedirectURI https://< hostname >/secure/redirect_uri
OIDCCryptoPassphrase < password >
< Location /secure>
AuthType openid-connect
Require valid-user
</ Location >Weitere Informationen zum Konfigurieren mehrerer Anbieter finden Sie im Wiki.
Siehe das Wiki für Konfigurationsdokumente für andere OpenID -Anbieter:
Diese Software wird von OpenIDC, einer Tochtergesellschaft von Zmartzone Holding BV für kommerzielle Dienste, OpenIDC wie oben beschrieben im Support -Abschnitt offen.