Skip to main content
L’accesso OIDC è gestito dal servizio web (il modulo authentication) all’interno di ogni pod di Ayakaleaf Pro. Non ha job in background né un pod separato. Il lato del provider (client, URI di reindirizzamento, claim di amministratore) è lo stesso del Toolkit, quindi configura prima il tuo OpenID Provider (OP) seguendo Autenticazione OIDC, poi inserisci i valori in Kubernetes come indicato di seguito.

Dove vengono eseguiti i componenti

Configurazione

1

Registra Overleaf presso l'OP

Consenti nel tuo OP questi indirizzi, costruiti a partire da OVERLEAF_SITE_URL:Trova i cinque URL nel documento di discovery dell’OP come descritto in Trovare i valori con il documento di discovery.
2

Aggiungi le impostazioni alla ConfigMap

Aggiungi a overleaf-env (30-config.yaml, oppure 60-config.yaml per più repliche):
30-config.yaml (additions)
EXTERNAL_AUTH accetta un elenco separato da spazi, ad esempio ldap oidc. Vedi Variabili d’ambiente per ogni impostazione OVERLEAF_OIDC_*; vanno tutte nella ConfigMap tranne il client secret.
Metti tra virgolette "true" e "false": una ConfigMap contiene solo stringhe. Una chiave impostata a "" non equivale a una chiave mancante: OVERLEAF_OIDC_ALLOWED_EMAIL_DOMAINS: "" disattiva la creazione dell’account al primo accesso, mentre omettere la chiave consente tutti i domini.
3

Inserisci il client secret nel Secret

4

Considera attendibile una CA privata (facoltativo)

Se il certificato dell’OP proviene dalla tua CA, aggiungi la CA al Secret overleaf-certs montato in /var/lib/overleaf/certs (vedi Certificati e altri file) e indica a Node.js di usarla:
5

Applica e riavvia

Quindi verifica che ogni pod raggiunga l’endpoint del token. Sono i pod a chiamarlo, non il browser, quindi un problema di firewall o DNS si manifesta solo qui:
Qualsiasi stato HTTP (405 per una GET) significa che l’endpoint è raggiungibile; 000 significa che non lo è.

Più repliche

Non serve altro. Il valore state di un accesso e l’ID token usato per il logout sono conservati nella sessione, che risiede in Redis, quindi il callback funziona su qualunque replica lo riceva.

Testato su Kubernetes

Con goauthentik come OP, su Kubernetes 1.37 con tre repliche dietro HAProxy, i nostri test end-to-end per OIDC vengono superati (35 casi): accesso e logout tramite l’OP; la mappatura degli amministratori per gruppo, per email e per singolo valore, e senza mappatura; nome e flag di amministratore aggiornati a ogni accesso; collegamento e scollegamento degli account; reimpostazione e modifica della password degli account OIDC; account sospesi; OVERLEAF_OIDC_ALLOWED_EMAIL_DOMAINS; OVERLEAF_DISABLE_LOCAL_LOGIN; e OIDC insieme all’accesso pubblico.

Domande e risposte

Risposta: Il browser non ha rinviato il cookie di sessione con il callback. Su Kubernetes le cause più comuni sono:
  • OVERLEAF_SECURE_COOKIE è impostato, ma gli utenti aprono il sito in HTTP semplice, quindi il browser non memorizza mai il cookie. Qualsiasi valore di OVERLEAF_SECURE_COOKIE, anche "false", attiva i cookie sicuri; rimuovi invece la chiave.
  • Il sito viene aperto con un indirizzo diverso da OVERLEAF_SITE_URL.
  • Dietro HTTPS, il tuo ingress o load balancer non invia X-Forwarded-Proto: https, oppure il suo indirizzo manca in OVERLEAF_TRUSTED_PROXY_IPS.
Risposta: Nel log di web del pod che ha gestito la richiesta, non in kubectl logs:
Con più repliche, controlla ogni overleaf-N.
Ultima modifica il 2 novembre 2026