MOD_AUTH_OPENIDC é um módulo de autenticação e autorização do OpenID Certified ™ para o servidor HTTP Apache 2.x que implementa a funcionalidade do OpenId Connect Party.
Este módulo permite que um servidor da Web Apache 2.x opere como uma festa de confiar no OpenID Connect (RP) em direção a um provedor de conexão OpenID (OP). Ele retransmite a autenticação do usuário final para um provedor e recebe informações de identidade do usuário desse provedor. Em seguida, ele transmite essa informação de identidade (também conhecida como reivindicações) para aplicativos protegidos pelo servidor da Web Apache e estabelece uma sessão de autenticação para o usuário identificado.
O conteúdo, aplicativos e serviços protegidos podem ser hospedados pelo próprio servidor Apache ou servidos do (s) servidor (s) de origem (s) residindo por trás dele, configurando o Apache como um proxy reverso na frente desses servidores. O último permite adicionar autenticação baseada em conexão OpenID a aplicativos/serviços/spas existentes sem modificar esses aplicativos, possivelmente migrando-os para longe dos mecanismos de autenticação herdada para o OpenId Connect Signat Sign (SSO) baseado em padrões.
Por padrão, o módulo define a variável REMOTE_USER para a reivindicação id_token [sub] , concatenada com o identificador do emissor do OP ( [sub]@[iss] ). Outras reivindicações id_token são aprovadas em cabeçalhos HTTP e/ou variáveis de ambiente juntamente com elas (opcionalmente) obtidas no endpoint do userInfo. Os cabeçalhos HTTP e variáveis de ambiente fornecidos podem ser consumidos por aplicativos protegidos pelo servidor Apache.
As regras de autorização de granulação fina personalizadas - com base nas Require do Apache - podem ser especificadas para corresponder ao conjunto de reivindicações fornecidas nas reivindicações id_token / userinfo , veja aqui. O cluster para resiliência e desempenho pode ser configurado usando uma das opções de back -end de cache suportadas, conforme listado aqui.
Para obter uma visão geral completa de todas as opções de configuração, consulte o arquivo auth_openidc.conf . Este arquivo também pode servir como um arquivo incluído para httpd.conf .
MOD_AUTH_OPENIDC é o OpenID Certified ™ e suporta as seguintes especificações:
A documentação pode ser encontrada no wiki (incluindo perguntas frequentes) em:
https://github.com/openidc/mod_auth_openidc/wiki
Para perguntas, questões e sugestões, use o fórum de discussões do Github em:
https://github.com/openidc/mod_auth_openidc/discussions
Para baseado em assinatura comercial - suporte e licenciamento, entre em contato com:
[email protected]
Exemplo de configuração para o uso do Google como seu provedor de conexão OpenID em execução em www.example.com e https://www.example.com/example/redirect_uri registrado como o redirect_uri para o cliente através do console da API do Google. Você também precisará ativar a Google+ API sob APIs & auth no Google API Console.
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 > Observe que se você deseja restringir com segurança os logins a um domínio específico do Google Apps, não apenas adicionaria a configuração de hd=<your-domain> à OIDCAuthRequestParams primitiva para pular a tela do Google Conta Chooler, mas também deve solicitar o escopo email usando OIDCScope e usar uma configuração de autorização Require claim no Location Primitivo:
OIDCScope " openid email "
Require claim hd:< your -domain>O acima é um exemplo de autorização de uma correspondência exata de uma reclamação fornecida contra um valor de string. Para mais opções de autorização, consulte a página wiki sobre autorização.
mod_auth_openidc.so em seu servidor ApacheAuthType openid-connectOIDCRedirectURI como um URL de "vaidade" em um local que é protegido por mod_auth_openidcOIDCClientID e OIDCClientSecret respectivamenteOIDCRedirectURI como o Redirect ou Uri de retorno de chamada com seu cliente no provedorOIDCProviderMetadataURL para que ele aponte para os metadados da descoberta do seu provedor de conexão OpenID servido no ponto de extremidade .well-known/openid-configurationOIDCCryptoPassphrase para fins de criptografia de sessão/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 detalhes sobre como configurar vários fornecedores, consulte o wiki.
Consulte o Wiki para documentos de configuração para outros provedores do OpenID Connect:
Este software é aberto pelo OpenIDC, uma subsidiária da ZMartzone Holding BV para serviços comerciais, você pode entrar em contato com o OpenIDC, conforme descrito acima na seção de suporte.