Jenkins OIDC
O Casdoor pode usar o protocolo OIDC como um IDP para conectar várias aplicações. Neste exemplo, usaremos o Jenkins para demonstrar como usar o OIDC para se conectar às suas aplicações.
A seguir estão alguns dos nomes usados na configuração:
CASDOOR_HOSTNAME
: O nome de domínio ou IP onde o servidor Casdoor está implantado.JENKINS_HOSTNAME
: O nome de domínio ou IP onde o Jenkins está implantado.
Passo 1: Implantar Casdoor e Jenkins
Primeiramente, implante Casdoor e Jenkins.
Após uma implantação bem-sucedida, certifique-se do seguinte:
Defina a URL do Jenkins (Gerenciar Jenkins -> Configurar Sistema -> Localização do Jenkins) para
JENKINS_HOSTNAME
.Certifique-se de que o Casdoor possa ser acessado e usado normalmente.
Defina o valor de
origin
do Casdoor (conf/app.conf) paraCASDOOR_HOSTNAME
.
Passo 2: Configurar a aplicação Casdoor
Crie uma nova aplicação Casdoor ou use uma existente.
Adicione uma URL de redirecionamento:
http://JENKINS_HOSTNAME/securityRealm/finishLogin
Adicione o provedor que deseja e forneça quaisquer configurações adicionais.
Você obterá dois valores da página de configurações da aplicação: Client ID
e Client secret
. Usaremos esses valores na próxima etapa.
Abra seu navegador favorito e visite: http://CASDOOR_HOSTNAME
/.well-known/openid-configuration para visualizar a configuração OIDC do Casdoor.
Passo 3: Configurar o Jenkins
Primeiro, precisamos instalar Autenticação OpenId Connect pois o Jenkins não suporta nativamente OIDC.
Após a instalação estar completa, vá para Gerenciar Jenkins -> Configurar Segurança Global.
Certifique-se de fazer um backup do arquivo config.xml
do Jenkins para recuperar em caso de erros de configuração.
Em Controle de Acesso, selecione
Login with Openid Connect
como o Realm de Segurança.Especifique o
Client ID
anotado acima no campo Client ID.Especifique o
Client secret
anotado acima no campo Client secret.No modo de Configuração, selecione
Configuração automática
e insira http://CASDOOR_HOSTNAME
/.well-known/openid-configuration como o ponto final de configuração conhecido.Se o seu Casdoor estiver implantado localmente, talvez seja necessário selecionar
Configuração manual
e fornecer as seguintes informações:- URL do servidor de token: http://
CASDOOR_HOSTNAME
/api/login/oauth/access_token - URL do servidor de autorização: http://
CASDOOR_HOSTNAME
/login/oauth/authorize - URL do servidor UserInfo: http://
CASDOOR_HOSTNAME
/api/get-account - Escopos:
address phone openid profile offline_access email
- URL do servidor de token: http://
Clique em Configurações avançadas e preencha o seguinte:
- No campo Nome de usuário, especifique
name
. - No campo Nome completo, especifique
displayName
. - No campo Email, especifique
email
.
- No campo Nome de usuário, especifique
Na seção Autorização, habilite “Usuários logados podem fazer qualquer coisa” e desabilite “Permitir acesso de leitura anônimo”. Você pode configurar autorizações mais complexas mais tarde, mas por agora, verifique se o OpenID funciona corretamente.
Deslogue do Jenkins, e você deverá ser redirecionado para o Casdoor para autenticação.