MOD_Auth_OpenIDC est un module d'authentification et d'autorisation OpenID Certified ™ pour le serveur HTTP Apache 2.x qui implémente la fonctionnalité OpenID Connect Resing Party.
Ce module permet à un serveur Web Apache 2.x de fonctionner comme une partie de rejet (RP) OpenID Connect vers un fournisseur d'OpenID Connect (OP). Il relaie l'authentification finale de l'utilisateur à un fournisseur et reçoit des informations d'identité utilisateur de ce fournisseur. Il transmet ensuite les informations d'identité (affirmations AKA) aux applications protégées par le serveur Web Apache et établit une session d'authentification pour l'utilisateur identifié.
Le contenu, les applications et les services protégés peuvent être hébergés par le serveur Apache lui-même ou servi à partir du (s) serveur (s) d'origine résidant derrière lui en configurant Apache en tant que proxy inverse devant ces serveurs. Ce dernier permet d'ajouter une authentification basée sur une connexion OpenID aux applications / services / spas existants sans modifier ces applications, éventuellement les migrer des mécanismes d'authentification hérités aux normes OpenID Connect Single Sign On (SSO).
Par défaut, le module définit la variable REMOTE_USER dans la réclamation id_token [sub] , concaténée avec l'identifiant émetteur de l'OP ( [sub]@[iss] ). D'autres affirmations id_token sont passées dans des en-têtes HTTP et / ou des variables d'environnement avec celles (éventuellement) obtenues à partir du point de terminaison UserInfo. Les en-têtes HTTP fournis et les variables d'environnement peuvent être consommées par les applications protégées par le serveur Apache.
Les règles d'autorisation à grain fin personnalisé - basées sur les primitives Require qu'Apache - peuvent être spécifiées pour correspondre à l'ensemble des réclamations fournies dans les réclamations id_token / userinfo , voir ici. Le clustering pour la résilience et les performances peut être configuré à l'aide de l'une des options de backends de cache prises en charge comme indiqué ici.
Pour un aperçu complet de toutes les options de configuration, consultez le fichier auth_openidc.conf . Ce fichier peut également servir de fichier incluant pour httpd.conf .
mod_auth_openIDC est OpenID Certified ™ et prend en charge les spécifications suivantes:
La documentation peut être trouvée au Wiki (y compris les questions fréquemment posées) sur:
https://github.com/opénidc/mod_auth_openidc/wiki
Pour les questions, les problèmes et les suggestions, utilisez le Forum des discussions GitHub à:
https://github.com/opénidc/mod_auth_openidc/discussions
Pour la publicité - Abonnement basé sur l'abonnement - Support et licence, veuillez contacter:
[email protected]
Exemple de configuration pour l'utilisation de Google comme fournisseur OpenID Connect en cours d'exécution sur www.example.com et https://www.example.com/example/redirect_uri s'est enregistré comme redirect_uri pour le client via la console API Google. Vous devrez également activer l' Google+ API sous APIs & auth dans la console Google API.
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 > Remarque Si vous souhaitez restreindre en toute sécurité les connexions à un domaine Google Apps spécifique, vous ajouteriez non seulement le paramètre hd=<your-domain> à la primitive OIDCAuthRequestParams pour sauter l'écran Google Compte Chooser, mais vous devez également demander la portée email à l'aide OIDCScope et utiliser un réglage d'autorisation Require claim exige la Location similaire primitive pour:
OIDCScope " openid email "
Require claim hd:< your -domain>Ce qui précède est un exemple d'autorisation d'une correspondance exacte d'une réclamation fournie par rapport à une valeur de chaîne. Pour plus d'options d'autorisation, consultez la page Wiki sur l'autorisation.
mod_auth_openidc.so dans votre serveur ApacheAuthType openid-connectOIDCRedirectURI sur une URL de "vanité" dans un emplacement protégé par mod_auth_openidcOIDCClientID et OIDCClientSecretOIDCRedirectURI comme URI de redirection ou de rappel avec votre client chez le fournisseurOIDCProviderMetadataURL afin qu'il pointe les métadonnées de découverte de votre fournisseur d'OpenId Connect servis sur le point de terminaison .well-known/openid-configurationOIDCCryptoPassphrase à des fins de cryptage de session / d'état 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 >Pour plus de détails sur la configuration de plusieurs fournisseurs, consultez le wiki.
Voir le wiki pour les documents de configuration pour d'autres fournisseurs de connexion OpenID:
Ce logiciel est ouvert par OpenIDC, une filiale de Zmartzone Holding BV pour les services commerciaux que vous pouvez contacter OpenIDC comme décrit ci-dessus dans la section d'assistance.