Skip to main content
OIDC ile oturum açma, her Ayakaleaf Pro pod’undaki web hizmeti (authentication modülü) tarafından yürütülür. Arka plan işi veya ayrı bir pod’u yoktur. Sağlayıcı tarafı (istemci, yönlendirme URI’leri, yönetici talebi) Toolkit ile aynıdır; bu nedenle önce OpenID Sağlayıcınızı (OP) OIDC Kimlik Doğrulama sayfasına göre kurun, ardından değerleri aşağıdaki gibi Kubernetes’e aktarın.

Neyin nerede çalıştığı

Yapılandırma

1

Overleaf'i OP'ye kaydedin

OP’nizde OVERLEAF_SITE_URL değerinden oluşturulan şu adreslere izin verin:Beş URL’yi, Değerleri keşif belgesiyle bulma bölümünde açıklandığı gibi OP’nin keşif belgesinde bulun.
2

Ayarları ConfigMap'e ekleyin

overleaf-env öğesine ekleyin (30-config.yaml veya birden fazla replika için 60-config.yaml):
30-config.yaml (additions)
EXTERNAL_AUTH boşlukla ayrılmış bir liste alır, örneğin ldap oidc. Tüm OVERLEAF_OIDC_* ayarları için Ortam Değişkenleri bölümüne bakın; istemci gizli anahtarı dışında hepsi ConfigMap’e girer.
"true" ve "false" değerlerini tırnak içine alın: bir ConfigMap yalnızca dize tutar. "" olarak ayarlanmış bir anahtar, eksik bir anahtarla aynı şey değildir: OVERLEAF_OIDC_ALLOWED_EMAIL_DOMAINS: "" ilk oturum açmada hesap oluşturmayı kapatır, anahtarı hiç yazmamak ise her alan adına izin verir.
3

İstemci gizli anahtarını Secret'a koyun

4

Özel bir CA'ya güvenin (isteğe bağlı)

OP’nin sertifikası kendi CA’nızdan geliyorsa, CA’yı /var/lib/overleaf/certs konumuna bağlanan overleaf-certs Secret’ına ekleyin (bkz. Sertifikalar ve diğer dosyalar) ve Node.js’i ona yönlendirin:
5

Uygulayın ve yeniden başlatın

Ardından her pod’un token uç noktasına erişebildiğini kontrol edin. Bu uç noktayı tarayıcı değil pod’lar çağırır; bu nedenle bir güvenlik duvarı veya DNS sorunu yalnızca burada ortaya çıkar:
Herhangi bir HTTP durum kodu (bir GET için 405) uç noktaya erişilebildiği anlamına gelir; 000 erişilemediği anlamına gelir.

Birden fazla replika

Ek bir şey gerekmez. Bir oturum açmanın state değeri ve oturum kapatma için kullanılan ID token, Redis’te bulunan oturumda tutulur; böylece geri çağırma (callback) hangi replikaya ulaşırsa ulaşsın çalışır.

Kubernetes üzerinde test edildi

OP olarak goauthentik ile, HAProxy arkasında üç replikalı Kubernetes 1.37 üzerinde OIDC için uçtan uca testlerimiz başarılı oldu (35 vaka): oturum açma ve OP üzerinden oturum kapatma; gruba, e-postaya ve tek bir değere göre ve eşleme olmadan yönetici eşlemesi; her oturum açmada güncellenen ad ve yönetici bayrağı; hesapları bağlama ve bağlantısını kaldırma; OIDC hesaplarının parola sıfırlama ve parola değişiklikleri; askıya alınmış hesaplar; OVERLEAF_OIDC_ALLOWED_EMAIL_DOMAINS; OVERLEAF_DISABLE_LOCAL_LOGIN; ve herkese açık erişimle birlikte OIDC.

Soru&Cevap

Cevap: Tarayıcı, geri çağırma isteğiyle birlikte oturum çerezini geri göndermedi. Kubernetes’te olağan nedenler şunlardır:
  • OVERLEAF_SECURE_COOKIE ayarlanmış, ancak kullanıcılar siteyi düz HTTP üzerinden açıyor; bu nedenle tarayıcı çerezi hiç saklamıyor. OVERLEAF_SECURE_COOKIE için herhangi bir değer, "false" bile, güvenli çerezleri açar; bunun yerine anahtarı kaldırın.
  • Site, OVERLEAF_SITE_URL dışında başka bir adres altında açılıyor.
  • HTTPS arkasında, ingress’iniz veya yük dengeleyiciniz X-Forwarded-Proto: https göndermiyor ya da adresi OVERLEAF_TRUSTED_PROXY_IPS içinde eksik.
Cevap: kubectl logs içinde değil, isteği sunan pod’un web günlüğünde:
Birden fazla replikada her overleaf-N pod’unu kontrol edin.
Son değiştirilme tarihi 2 Kasım 2026