Skip to main content
此功能由 yu-i-i/overleaf-cep 開發。
目前支援 3 種身分驗證方式。設定完成後,您可以使用以下選項登入,如下圖所示。
我們強烈建議您使用 OIDC,因為這是最通用的方式。

OIDC 身分驗證

LDAP 身分驗證

SAML 身分驗證

全域設定

必須設定環境變數 EXTERNAL_AUTH 才能啟用特定的身分驗證模組。此環境變數指定要啟用哪些外部身分驗證方式。可用選項如下(小寫):
  • saml
  • ldap
  • oidc
若要讓使用者只能透過這些方式登入,請設定 OVERLEAF_DISABLE_LOCAL_LOGIN=true。這會隱藏電子郵件與密碼登入。除非 EXTERNAL_AUTH 至少啟用了一種方式,否則此設定不會生效(於 6.3.1 新增)。

帳號與密碼

設定 EXTERNAL_AUTH 後,一個執行個體中可以同時存在有本機密碼與沒有本機密碼的帳號。帳號能否設定或變更密碼只取決於這一點:有本機密碼的帳號可以自行管理密碼,沒有本機密碼的帳號只能透過 SSO 登入,且無法取得密碼,即使由管理員設定也不行。
  • LDAP 與 SAML 會在首次登入時接管具有相同電子郵件的本機帳號,並在每次登入時移除其本機密碼。若電子郵件不同,則會建立新帳號,不影響原有的本機帳號。
  • OIDC 會連結至帳號並保留其密碼,因此已連結 OIDC 的本機帳號可以透過兩種方式登入。可以在設定頁面點擊 Link 進行連結,或在電子郵件相符時於首次 OIDC 登入時連結。連結方式請參閱 OIDC 身分驗證。
  • 由管理員建立為本機帳號的帳號會收到啟用電子郵件:啟用帳號時設定密碼的方式,與透過電子郵件重設密碼相同。
  • 啟用多種方式時,例如 EXTERNAL_AUTH=ldap saml oidc,上述規則依然相同:只看帳號是否有本機密碼。
  • 透過電子郵件重設需要電子郵件設定(OVERLEAF_EMAIL_*)。若未設定,則不會寄出任何電子郵件,儘管頁面上顯示已寄出:此時請由管理員在 Admin → Manage Users 中設定密碼。
  • OVERLEAF_DISABLE_LOCAL_LOGIN=true 會隱藏電子郵件與密碼登入,但會保留密碼:重新顯示該登入方式後,密碼即可再次使用。
  • 設定 EXTERNAL_AUTH 後,無論使用哪種方式,使用者都無法在設定頁面變更自己的電子郵件:電子郵件由 IdP 管理,且使用者首次 OIDC 登入時會連結至擁有該使用者電子郵件的帳號。管理員可在 Admin → Manage Users 中變更電子郵件。
  • 在啟用 OIDC 的執行個體上,請使用 OVERLEAF_ALLOW_PUBLIC_REGISTRATION=@<domain>(啟用電子郵件可證明該地址的所有權),而非 true,或不開放公開註冊:若設為 true,任何人都可以在同事首次 OIDC 登入之前,以該同事的電子郵件註冊,導致同事被連結至該帳號。

SSO 建議

我測試過 Overleaf 的 saml、ldap 與 oauth。saml 與 oauth 在 Overleaf 中都運作良好,但 ldap 則視情況而定。它在 https://docs.goauthentik.io/ 上無法正常運作,但在 openLDAP(https://github.com/rroemhild/docker-test-openldap)上則運作良好。
我們需要更新 passport-ldapauth。最近我嘗試用 https://goauthentik.io/ 測試 Overleaf 的 LDAP,結果失敗了。將 “passport-ldapauth” 更新到 3.0.0 之後,一切都運作正常。
原本的版本是 2.x.x,那已經是 6 年前的版本了。
我不確定原因為何,因為我們都依賴外部套件來進行 LDAP(以及 saml、oauth)身分驗證。如果無法運作,Overleaf Server Pro 的情況可能也相同,因為我們只是將所有環境變數傳遞給內部套件,如果其中有錯誤,目前我們也無從得知。 因此我強烈建議使用者建立開發環境,搭配完整原始碼來測試 SSO,相關說明請參閱設定開發環境(本機)。在開發環境中,您可以在終端機中看到所有日誌,方便進行除錯。 \
最後修改於 2026年10月24日