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, окрім секрету клієнта.3
Додайте секрет клієнта до Secret
4
Довіра до приватного CA (необов'язково)
Якщо сертифікат OP видано вашим власним CA, додайте CA до Secret
overleaf-certs, змонтованого в /var/lib/overleaf/certs (див. Сертифікати та інші файли), і вкажіть на нього Node.js:5
Застосуйте й перезапустіть
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 разом із публічним доступом.
Запитання та відповіді
Де побачити, чому вхід не вдався?
Де побачити, чому вхід не вдався?
Відповідь: У журналі web того пода, який обслуговував запит, а не в За кількох реплік перевірте кожен
kubectl logs:overleaf-N.
