Skip to main content
O login via OIDC é tratado pelo serviço web (o módulo authentication) dentro de cada pod do Ayakaleaf Pro. Ele não tem tarefa em segundo plano nem pod separado. O lado do provedor (cliente, URIs de redirecionamento, claim de administrador) é o mesmo do Toolkit, então primeiro configure seu OpenID Provider (OP) com Autenticação OIDC e, em seguida, coloque os valores no Kubernetes conforme abaixo.

Onde cada coisa é executada

Configuração

1

Registre o Overleaf no OP

Permita estes endereços no seu OP, construídos a partir de OVERLEAF_SITE_URL:Encontre as cinco URLs no documento de descoberta do OP, conforme descrito em Encontrar os valores com o documento de descoberta.
2

Adicione as configurações ao ConfigMap

Adicione a overleaf-env (30-config.yaml, ou 60-config.yaml para várias réplicas):
30-config.yaml (additions)
EXTERNAL_AUTH aceita uma lista separada por espaços, por exemplo ldap oidc. Consulte Variáveis de ambiente para todas as configurações OVERLEAF_OIDC_*; todas vão para o ConfigMap, exceto o client secret.
Coloque "true" e "false" entre aspas: um ConfigMap armazena apenas strings. Uma chave definida como "" não é o mesmo que uma chave ausente: OVERLEAF_OIDC_ALLOWED_EMAIL_DOMAINS: "" desativa a criação de contas no primeiro login, enquanto omitir a chave permite todos os domínios.
3

Coloque o client secret no Secret

4

Confie em uma CA privada (opcional)

Se o certificado do OP vem da sua própria CA, adicione a CA ao Secret overleaf-certs, montado em /var/lib/overleaf/certs (consulte Certificados e outros arquivos), e aponte o Node.js para ela:
5

Aplique e reinicie

Depois, verifique se cada pod alcança o endpoint de token. São os pods que o chamam, não o navegador, então um problema de firewall ou de DNS aparece apenas aqui:
Qualquer status HTTP (405 para um GET) significa que o endpoint está acessível; 000 significa que não está.

Várias réplicas

Nada extra. O valor state de um login e o ID token usado para o logout são mantidos na sessão, que fica no Redis, então o callback funciona em qualquer réplica que o receba.

Testado no Kubernetes

Com o goauthentik como OP, no Kubernetes 1.37 com três réplicas atrás do HAProxy, nossos testes de ponta a ponta para OIDC passam (35 casos): login e logout por meio do OP; o mapeamento de administrador por grupo, por e-mail e por um valor único, e sem mapeamento; nome e flag de administrador atualizados a cada login; vinculação e desvinculação de contas; redefinição e alteração de senha de contas OIDC; contas suspensas; OVERLEAF_OIDC_ALLOWED_EMAIL_DOMAINS; OVERLEAF_DISABLE_LOCAL_LOGIN; e OIDC junto com acesso público.

Q&A

Resposta: O navegador não enviou o cookie de sessão de volta com o callback. No Kubernetes, as causas comuns são:
  • OVERLEAF_SECURE_COOKIE está definida, mas os usuários abrem o site via HTTP simples, então o navegador nunca armazena o cookie. Qualquer valor de OVERLEAF_SECURE_COOKIE, até mesmo "false", ativa os cookies seguros; em vez disso, remova a chave.
  • O site é aberto em um endereço diferente de OVERLEAF_SITE_URL.
  • Atrás de HTTPS, seu ingress ou balanceador de carga não envia X-Forwarded-Proto: https, ou o endereço dele não consta em OVERLEAF_TRUSTED_PROXY_IPS.
Resposta: No log do web do pod que atendeu a requisição, não em kubectl logs:
Com várias réplicas, verifique cada overleaf-N.
Última modificação em 2 de novembro de 2026