Pular para o conteúdo principal

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:

  1. Defina a URL do Jenkins (Gerenciar Jenkins -> Configurar Sistema -> Localização do Jenkins) para JENKINS_HOSTNAME. URL do Jenkins

  2. Certifique-se de que o Casdoor possa ser acessado e usado normalmente.

  3. Defina o valor de origin do Casdoor (conf/app.conf) para CASDOOR_HOSTNAME. Configuração do Casdoor

Passo 2: Configurar a aplicação Casdoor

  1. Crie uma nova aplicação Casdoor ou use uma existente.

  2. Adicione uma URL de redirecionamento: http://JENKINS_HOSTNAME/securityRealm/finishLogin Configuração da Aplicação Casdoor

  3. 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. segurança global do jenkins

dica

Certifique-se de fazer um backup do arquivo config.xml do Jenkins para recuperar em caso de erros de configuração.

  1. Em Controle de Acesso, selecione Login with Openid Connect como o Realm de Segurança.

  2. Especifique o Client ID anotado acima no campo Client ID.

  3. Especifique o Client secret anotado acima no campo Client secret.

  4. 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. Configuração do Jenkins

    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 Configuração manual
  5. 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.

    Configuração do Campo Userinfo

  6. 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.Página de Login do Jenkins