MOD_AUTH_OPENIDC es un módulo de autenticación y autorización de OpenID Certified ™ para el servidor Apache 2.x HTTP que implementa la funcionalidad de la parte de conflicto OpenID Connect.
Este módulo permite que un servidor web Apache 2.x funcione como una parte de dependencia de OpenID Connect (RP) hacia un proveedor de Connect OpenID (OP). TI transmite la autenticación del usuario final a un proveedor y recibe información de identidad del usuario de ese proveedor. Luego transmite esa información de identidad (AKA Reclamaciones) a las aplicaciones protegidas por el servidor web Apache y establece una sesión de autenticación para el usuario identificado.
El contenido protegido, las aplicaciones y los servicios pueden ser alojados por el propio servidor Apache o servido de los servidores de origen que reside detrás de él configurando Apache como un proxy inverso frente a esos servidores. Este último permite agregar autenticación basada en OpenID Connect a aplicaciones/servicios/spas existentes sin modificar esas aplicaciones, posiblemente migrándolas de los mecanismos de autenticación heredados al signo de OpenID Connect basado en estándares (SSO).
De manera predeterminada, el módulo establece la variable REMOTE_USER en el reclamo id_token [sub] , concatenado con el identificador del emisor del OP ( [sub]@[iss] ). Otras reclamaciones id_token se pasan en encabezados HTTP y/o variables de entorno junto con aquellas (opcionalmente) obtenidas del punto final de usuario de UserInfo. Los encabezados HTTP proporcionados y las variables de entorno pueden ser consumidas por aplicaciones protegidas por el servidor Apache.
Las reglas personalizadas de autorización de grano fino, basadas en las primitivas Require de Apache, se pueden especificar para que coincidan con el conjunto de reclamos proporcionados en los reclamos id_token / userinfo , ver aquí. La agrupación de resiliencia y rendimiento se puede configurar utilizando una de las opciones de backends de caché compatibles como se enumeran aquí.
Para obtener una descripción completa de todas las opciones de configuración, consulte el archivo auth_openidc.conf . Este archivo también puede servir como un archivo de inclusión para httpd.conf .
MOD_AUTH_OPENIDC es OpenID Certified ™ y admite las siguientes especificaciones:
La documentación se puede encontrar en el wiki (incluidas las preguntas frecuentes) en:
https://github.com/openidc/mod_auth_openidc/wiki
Para preguntas, problemas y sugerencias, use el Foro de discusiones de GitHub en:
https://github.com/openidc/mod_auth_openidc/discussions
Para comercialización comercial - basado en suscripción - Soporte y licencias, comuníquese con:
[email protected]
Ejemplo de configuración para usar Google como su proveedor de OpenID Connect que se ejecuta en www.example.com y https://www.example.com/example/redirect_uri registrado como redirect_uri para el cliente a través de la consola API de Google. También tendrá que habilitar la Google+ API en APIs & auth en la consola de la API de Google.
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 > Nota Si desea restringir de forma segura los inicios de sesión a un dominio específico de Google Apps, no solo agregaría la configuración hd=<your-domain> al OIDCAuthRequestParams primitivo para omitir la pantalla Coser de la cuenta de Google, sino que también debe solicitar el alcance email utilizando OIDCScope y usar una configuración de autorización de Require claim en la Location primitiva similar a:::
OIDCScope " openid email "
Require claim hd:< your -domain>Lo anterior es un ejemplo de autorización de una coincidencia exacta de un reclamo proporcionado contra un valor de cadena. Para obtener más opciones de autorización, consulte la página Wiki sobre autorización.
mod_auth_openidc.so en su servidor ApacheAuthType openid-connectOIDCRedirectURI en una URL de "tocador" dentro de una ubicación que está protegida por mod_auth_openidcOIDCClientID y OIDCClientSecret respectivamenteOIDCRedirectURI como URI de redirección o devolución de llamada con su cliente en el proveedorOIDCProviderMetadataURL para que apunte a los metadatos de descubrimiento de su proveedor de OpenID Connect servido en el punto final de .well-known/openid-configurationOIDCCryptoPassphrase para fines de cifrado de sesión/estado 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 >Para obtener detalles sobre la configuración de múltiples proveedores, consulte el wiki.
Consulte el wiki para los documentos de configuración para otros proveedores de OpenID Connect:
Este software está abierto por OpenIDC, una subsidiaria de ZMartzone Holding BV para servicios comerciales. Puede comunicarse con OpenIDC como se describe anteriormente en la sección de soporte.