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.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
405 para um GET) significa que o endpoint está acessível; 000 significa que não está.Várias réplicas
Nada extra. O valorstate 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
Onde vejo por que um login falhou?
Onde vejo por que um login falhou?
Resposta: No log do web do pod que atendeu a requisição, não em Com várias réplicas, verifique cada
kubectl logs:overleaf-N.
