A partir da versão 2.8.92, o Semaphore suporta autenticação via OpenID. Neste artigo, exploraremos como configurar o Ansible Semaphore para autenticar usuários via GitLab.
A configuração da autenticação via OpenID começa com a configuração do provedor em si, que neste caso é o GitLab.
1. Crie um aplicativo no GitLab
Para habilitar a autenticação através do GitLab, você precisa criar um aplicativo nas configurações da sua conta do GitLab.
- Acesse a seção Aplicativos nas configurações da sua conta do GitLab: https://gitlab.com/-/profile/applications
- Preencha os campos obrigatórios:
- URL de redirecionamento:
http://localhost:3000/api/auth/oidc/gitlab/redirect
. - Scopes:
openid
,profile
,email
. - Após clicar em Salvar aplicativo, você verá a seguinte tela:
- Copie e salve a chave secreta em algum lugar (ela será necessária para configurar o Semaphore) e clique em Continuar.
- Aplicativo pronto.


2. Adicione as configurações do OpenID ao arquivo de configuração do Semaphore
Como você sabe, as configurações do Semaphore são armazenadas no arquivo de configuração (geralmente config.json
) em formato JSON.
Precisamos adicionar as seguintes configurações para que o Semaphore saiba como usar o GitLab como provedor OpenID:
"oidc_providers": {
"gitlab": {
"display_name": "GitLab",
"provider_url": "https://gitlab.com",
"client_id": "ID do Aplicativo",
"client_secret": "Segredo",
"redirect_url": "http://localhost:4000/api/auth/oidc/gitlab/redirect"
}
}
3. Inicie o Semaphore com autenticação OpenID/GitLab
Após salvar as alterações no arquivo de configuração, inicie ou reinicie o Semaphore com as novas configurações.
Você verá um novo botão "GitLab" na página de login do Semaphore.