A partir da versão 2.8.92, Semaphore oferece suporte à autenticação via OpenID. Neste artigo, vamos explorar 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 próprio provedor, no nosso caso, o GitLab.
1. Criar uma aplicação no GitLab
Para habilitar a autenticação pelo GitLab, você precisa criar uma aplicação nas configurações da sua conta do GitLab.
- Vá para a seção Applications 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
. - Escopos:
openid
,profile
,email
. - Depois de clicar em Save application você verá a tela a seguir:
- Copie e salve a chave secreta em algum lugar (ela será necessária para configurar o Semaphore) e clique em Continue.
- Aplicação pronta.


2. Adicione as configurações OpenID ao arquivo de configuração do Semaphore
Como você sabe, as configurações do Semaphore são armazenadas em um 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": "Application ID",
"client_secret": "Secret",
"redirect_url": "http://localhost:4000/api/auth/oidc/gitlab/redirect"
}
}
3. Inicie o Semaphore com autenticação OpenID/GitLab
Depois de salvar as alterações no arquivo de configuração, inicie ou reinicie o Semaphore com as novas configurações.
Você encontrará um novo botão "GitLab" na página de login do Semaphore.