Skip to main content
Вхід через OIDC обробляє служба web (модуль authentication) у кожному поді Ayakaleaf Pro. Він не має фонового завдання й окремого пода. Сторона постачальника (клієнт, URI переспрямування, claim адміністратора) така сама, як і в Toolkit, тож спочатку налаштуйте свого постачальника OpenID (OP) за розділом Автентифікація OIDC, а потім перенесіть значення в Kubernetes, як описано нижче.

Де що працює

Конфігурація

1

Зареєструйте Overleaf в OP

Дозвольте у своєму OP такі адреси, побудовані з OVERLEAF_SITE_URL:Знайдіть п’ять URL-адрес у документі discovery OP, як описано в розділі Пошук значень за допомогою документа discovery.
2

Додайте налаштування до ConfigMap

Додайте до overleaf-env (30-config.yaml або 60-config.yaml для кількох реплік):
30-config.yaml (additions)
EXTERNAL_AUTH приймає список, розділений пробілами, наприклад ldap oidc. Усі параметри OVERLEAF_OIDC_* описано в розділі Змінні середовища; усі вони потрапляють у ConfigMap, окрім секрету клієнта.
Беріть у лапки "true" і "false": ConfigMap містить лише рядки. Ключ зі значенням "" — це не те саме, що відсутній ключ: OVERLEAF_OIDC_ALLOWED_EMAIL_DOMAINS: "" вимикає створення облікових записів під час першого входу, а відсутність ключа дозволяє будь-який домен.
3

Додайте секрет клієнта до Secret

4

Довіра до приватного CA (необов'язково)

Якщо сертифікат OP видано вашим власним CA, додайте CA до Secret overleaf-certs, змонтованого в /var/lib/overleaf/certs (див. Сертифікати та інші файли), і вкажіть на нього Node.js:
5

Застосуйте й перезапустіть

Потім перевірте, що кожен под має доступ до кінцевої точки token. Її викликають поди, а не браузер, тож проблема з брандмауером чи DNS проявляється лише тут:
Будь-який статус HTTP (405 для GET) означає, що кінцева точка доступна; 000 означає, що ні.

Кілька реплік

Нічого додаткового. Значення state входу та ID-токен, що використовується для виходу, зберігаються в сесії, яка міститься в Redis, тож callback працює на будь-якій репліці, що його отримає.

Перевірено в Kubernetes

З goauthentik як OP, у Kubernetes 1.37 із трьома репліками за HAProxy, наші наскрізні тести для OIDC проходять (35 випадків): вхід і вихід через OP; зіставлення адміністраторів за групою, за електронною поштою та за одним значенням, а також без зіставлення; оновлення імені й ознаки адміністратора під час кожного входу; прив’язка та скасування прив’язки облікових записів; скидання й зміна паролів облікових записів OIDC; призупинені облікові записи; OVERLEAF_OIDC_ALLOWED_EMAIL_DOMAINS; OVERLEAF_DISABLE_LOCAL_LOGIN; а також OIDC разом із публічним доступом.

Запитання та відповіді

Відповідь: Браузер не надіслав cookie сесії разом із callback. У Kubernetes звичайні причини такі:
  • Задано OVERLEAF_SECURE_COOKIE, але користувачі відкривають сайт через звичайний HTTP, тож браузер ніколи не зберігає cookie. Будь-яке значення OVERLEAF_SECURE_COOKIE, навіть "false", вмикає захищені cookie; натомість видаліть ключ.
  • Сайт відкривають за іншою адресою, ніж OVERLEAF_SITE_URL.
  • За HTTPS ваш ingress або балансувальник навантаження не надсилає X-Forwarded-Proto: https, або його адреси немає в OVERLEAF_TRUSTED_PROXY_IPS.
Відповідь: У журналі web того пода, який обслуговував запит, а не в kubectl logs:
За кількох реплік перевірте кожен overleaf-N.
Останнє оновлення 2 листопада 2026 р.