Skip to main content
Login OIDC ditangani oleh layanan web (modul authentication) di dalam setiap pod Ayakaleaf Pro. Login ini tidak memiliki job latar belakang maupun pod terpisah. Sisi penyedia (client, redirect URI, klaim admin) sama seperti di Toolkit, jadi siapkan OpenID Provider (OP) Anda dengan Autentikasi OIDC terlebih dahulu, lalu masukkan nilainya ke Kubernetes seperti di bawah ini.

Di mana semuanya berjalan

Konfigurasi

1

Daftarkan Overleaf di OP

Izinkan alamat-alamat berikut di OP Anda, yang dibentuk dari OVERLEAF_SITE_URL:Temukan kelima URL di dokumen discovery milik OP seperti dijelaskan di Menemukan nilai dengan dokumen discovery.
2

Tambahkan pengaturan ke ConfigMap

Tambahkan ke overleaf-env (30-config.yaml, atau 60-config.yaml untuk beberapa replika):
30-config.yaml (additions)
EXTERNAL_AUTH menerima daftar yang dipisahkan spasi, misalnya ldap oidc. Lihat Variabel Lingkungan untuk setiap pengaturan OVERLEAF_OIDC_*; semuanya masuk ke ConfigMap kecuali client secret.
Beri tanda kutip pada "true" dan "false": ConfigMap hanya menyimpan string. Kunci yang diatur ke "" tidak sama dengan kunci yang tidak ada: OVERLEAF_OIDC_ALLOWED_EMAIL_DOMAINS: "" menonaktifkan pembuatan akun pada login pertama, sedangkan menghilangkan kunci tersebut mengizinkan semua domain.
3

Masukkan client secret ke Secret

4

Percayai CA privat (opsional)

Jika sertifikat OP berasal dari CA Anda sendiri, tambahkan CA tersebut ke Secret overleaf-certs yang di-mount di /var/lib/overleaf/certs (lihat Sertifikat dan file lainnya) dan arahkan Node.js ke sana:
5

Terapkan dan restart

Lalu periksa apakah setiap pod dapat menjangkau endpoint token. Pod yang memanggilnya, bukan browser, sehingga masalah firewall atau DNS hanya muncul di sini:
Status HTTP apa pun (405 untuk GET) berarti endpoint dapat dijangkau; 000 berarti tidak.

Beberapa replika

Tidak ada yang perlu ditambahkan. Nilai state dari sebuah login dan ID token yang digunakan untuk logout disimpan di sesi, yang berada di Redis, sehingga callback berfungsi di replika mana pun yang menerimanya.

Diuji di Kubernetes

Dengan goauthentik sebagai OP, di Kubernetes 1.37 dengan tiga replika di belakang HAProxy, pengujian end-to-end kami untuk OIDC lulus (35 kasus): login, dan logout melalui OP; pemetaan admin berdasarkan grup, berdasarkan email, dan berdasarkan satu nilai, serta tanpa pemetaan; nama dan flag admin yang diperbarui pada setiap login; menautkan dan melepas tautan akun; reset kata sandi dan perubahan kata sandi akun OIDC; akun yang ditangguhkan; OVERLEAF_OIDC_ALLOWED_EMAIL_DOMAINS; OVERLEAF_DISABLE_LOCAL_LOGIN; serta OIDC bersama dengan akses publik.

Tanya Jawab

Jawaban: Browser tidak mengirim kembali cookie sesi bersama callback. Di Kubernetes, penyebab yang umum adalah:
  • OVERLEAF_SECURE_COOKIE diatur, tetapi pengguna membuka situs melalui HTTP biasa, sehingga browser tidak pernah menyimpan cookie. Nilai OVERLEAF_SECURE_COOKIE apa pun, bahkan "false", mengaktifkan secure cookie; hapus kuncinya sebagai gantinya.
  • Situs dibuka dengan alamat selain OVERLEAF_SITE_URL.
  • Di balik HTTPS, ingress atau load balancer Anda tidak mengirim X-Forwarded-Proto: https, atau alamatnya tidak ada di OVERLEAF_TRUSTED_PROXY_IPS.
Jawaban: Di log web dari pod yang melayani permintaan tersebut, bukan di kubectl logs:
Dengan beberapa replika, periksa setiap overleaf-N.
Terakhir diubah pada 2 November 2026