Skip to main content
Přihlašování přes OIDC obstarává služba web (modul authentication) uvnitř každého podu Ayakaleaf Pro. Nemá žádnou úlohu na pozadí ani samostatný pod. Strana poskytovatele (klient, URI přesměrování, claim administrátora) je stejná jako v Toolkitu, proto nejprve nastavte svého poskytovatele OpenID (OP) podle stránky Ověřování OIDC a poté hodnoty vložte do Kubernetes, jak je popsáno níže.

Kde co běží

Konfigurace

1

Zaregistrujte Overleaf u OP

Ve svém OP povolte tyto adresy sestavené z OVERLEAF_SITE_URL:Pět URL najdete v discovery dokumentu OP, jak je popsáno v části Zjištění hodnot pomocí discovery dokumentu.
2

Přidejte nastavení do ConfigMapy

Přidejte do overleaf-env (30-config.yaml, nebo 60-config.yaml pro více replik):
30-config.yaml (additions)
EXTERNAL_AUTH přijímá seznam oddělený mezerami, například ldap oidc. Všechna nastavení OVERLEAF_OIDC_* najdete v části Proměnné prostředí; všechna patří do ConfigMapy kromě tajného klíče klienta.
Dejte "true" a "false" do uvozovek: ConfigMapa obsahuje pouze řetězce. Klíč nastavený na "" není totéž co chybějící klíč: OVERLEAF_OIDC_ALLOWED_EMAIL_DOMAINS: "" vypne vytváření účtů při prvním přihlášení, zatímco vynechání klíče povolí všechny domény.
3

Vložte tajný klíč klienta do Secretu

4

Důvěřujte soukromé CA (volitelné)

Pokud certifikát OP pochází od vaší vlastní CA, přidejte CA do Secretu overleaf-certs připojeného do /var/lib/overleaf/certs (viz Certifikáty a další soubory) a nasměrujte na ni Node.js:
5

Aplikujte a restartujte

Poté ověřte, že každý pod dosáhne na endpoint token. Volají ho pody, nikoli prohlížeč, takže problém s firewallem nebo DNS se projeví pouze zde:
Jakýkoli stavový kód HTTP (405 pro GET) znamená, že endpoint je dostupný; 000 znamená, že dostupný není.

Více replik

Nic dalšího není potřeba. Hodnota state přihlášení a ID token používaný pro odhlášení se uchovávají v relaci, která je uložena v Redisu, takže callback funguje na kterékoli replice, která ho přijme.

Otestováno na Kubernetes

S goauthentik jako OP, na Kubernetes 1.37 se třemi replikami za HAProxy, procházejí naše end-to-end testy pro OIDC (35 případů): přihlášení a odhlášení přes OP; mapování administrátorů podle skupiny, podle e-mailu a podle jediné hodnoty i bez mapování; aktualizace jména a příznaku administrátora při každém přihlášení; propojování a rozpojování účtů; obnovení a změna hesla u účtů OIDC; pozastavené účty; OVERLEAF_OIDC_ALLOWED_EMAIL_DOMAINS; OVERLEAF_DISABLE_LOCAL_LOGIN; a OIDC společně s veřejným přístupem.

Otázky a odpovědi

Odpověď: Prohlížeč neposlal s callbackem zpět cookie relace. Na Kubernetes jsou obvyklé příčiny tyto:
  • OVERLEAF_SECURE_COOKIE je nastaveno, ale uživatelé otevírají web přes prosté HTTP, takže prohlížeč cookie nikdy neuloží. Jakákoli hodnota OVERLEAF_SECURE_COOKIE, i "false", zapíná zabezpečené cookies; místo toho klíč odstraňte.
  • Web se otevírá pod jinou adresou než OVERLEAF_SITE_URL.
  • Za HTTPS váš ingress nebo load balancer neposílá X-Forwarded-Proto: https, nebo jeho adresa chybí v OVERLEAF_TRUSTED_PROXY_IPS.
Odpověď: V logu služby web toho podu, který požadavek obsloužil, nikoli v kubectl logs:
Při více replikách zkontrolujte každý overleaf-N.
Naposledy změněno 2. listopadu 2026