Overleaf SAML modülü dahili olarak passport-saml kütüphanesini kullanır; aşağıdaki yapılandırma seçeneklerinin çoğu doğrudan passport-saml’e aktarılır. SAML’i yapılandırırken sorun yaşıyorsanız, beklediği yapılandırma hakkında fikir edinmek için passport-saml README dosyasını okumaya değer.SAML kimlik doğrulama modülünü etkinleştirmek için EXTERNAL_AUTH ortam değişkeni gereklidir. Bu ortam değişkeni hangi harici kimlik doğrulama yöntemlerinin etkinleştirileceğini belirtir. Bu değişkenin değeri bir listedir. Liste saml içeriyorsa SAML kimlik doğrulaması etkinleştirilir.Örneğin: EXTERNAL_AUTH=ldap samlSAML kimlik doğrulama yöntemi kullanıldığında, kullanıcı Kimlik Sağlayıcının (IdP) kimlik doğrulama sitesine yönlendirilir. IdP kullanıcının kimliğini başarıyla doğrularsa, Overleaf kullanıcı veritabanında aşağıdaki yapıda bir samlIdentifiers alanı içeren bir kayıt aranır:
Giriş sayfasında kullanılan kimlik hizmetinin görünen adı (varsayılan: Log in with SAML IdP).
OVERLEAF_SAML_USER_ID_FIELD
Bu özniteliğin değeri Overleaf tarafından harici kullanıcı kimliği olarak kullanılır, varsayılan olarak nameID.
OVERLEAF_SAML_EMAIL_FIELD
Kullanıcı profilindeki Email alanının adı, varsayılan olarak nameID.
OVERLEAF_SAML_FIRST_NAME_FIELD
Kullanıcı profilindeki firstName alanının adı, varsayılan olarak givenName.
OVERLEAF_SAML_LAST_NAME_FIELD
Kullanıcı profilindeki lastName alanının adı, varsayılan olarak lastName
OVERLEAF_SAML_UPDATE_USER_DETAILS_ON_LOGIN
true olarak ayarlanırsa, oturum açıldığında kullanıcının first_name ve last_name alanlarını günceller ve /user/settings sayfasındaki kullanıcı bilgileri formunu kapatır.
Beklenen SAML yanıtı Audience değeri, varsayılan olarak OVERLEAF_SAML_ISSUER değeridir.
OVERLEAF_SAML_IDP_CERT(zorunlu)
Gelen SAML yanıtlarının imzalarını doğrulamak için kullanılan, Kimlik Sağlayıcının genel sertifikasını içeren dosyanın yolu. Kimlik Sağlayıcının birden fazla geçerli imzalama sertifikası varsa, bu değer sertifika yollarından oluşan bir JSON dizisi olabilir.
Örnek (tek sertifika): /var/lib/overleaf/certs/idp_cert.pem
Örnek (birden fazla sertifika): ["var/lib/overleaf/certs/idp_cert.pem", "/var/lib/overleaf/certs/idp_cert_old.pem"]
OVERLEAF_SAML_PUBLIC_CERT
IdP’nin gelen SAML İsteğinin imzalarını doğrulayabilmesi için kimlik doğrulama isteklerine gömülen genel imzalama sertifikasını içeren dosyanın yolu. Strateji bir OVERLEAF_SAML_PRIVATE_KEY ile yapılandırıldığında meta veri uç noktası kurulurken gereklidir. Sertifika rotasyonunu desteklemek için sertifika yollarından oluşan bir JSON dizisi sağlanabilir. Bir sertifika dizisi sağlanırken dizideki ilk girdi mevcut OVERLEAF_SAML_PRIVATE_KEY ile eşleşmelidir. Dizideki ek girdiler, OVERLEAF_SAML_PRIVATE_KEY değiştirilmeden önce yaklaşan sertifikaları IdP’lere yayımlamak için kullanılabilir.
OVERLEAF_SAML_PRIVATE_KEY
passport-saml tarafından gönderilen kimlik doğrulama isteklerini imzalamak için kullanılan OVERLEAF_SAML_PUBLIC_CERT ile eşleşen, PEM biçimli özel anahtarı içeren dosyanın yolu.
Alınan şifrelenmiş onayların (assertion) şifresini çözmeye çalışmak için kullanılacak, OVERLEAF_SAML_DECRYPTION_CERT ile eşleşen özel anahtarı içeren dosyanın yolu.
OVERLEAF_SAML_SIGNATURE_ALGORITHM
İstekleri imzalamak için isteğe bağlı olarak imza algoritmasını ayarlar; geçerli değerler ‘sha1’ (varsayılan), ‘sha256’ (tercih edilen), ‘sha512’ (en güvenli, IdP’nizin destekleyip desteklemediğini kontrol edin).
OVERLEAF_SAML_ADDITIONAL_PARAMS
Tüm isteklere eklenecek ek sorgu parametrelerinden oluşan JSON sözlüğü.
OVERLEAF_SAML_ADDITIONAL_AUTHORIZE_PARAMS
‘authorize’ isteklerine eklenecek ek sorgu parametrelerinden oluşan JSON sözlüğü.
Örnek: {"some_key": "some_value"}
OVERLEAF_SAML_IDENTIFIER_FORMAT
Kimlik sağlayıcıdan istenecek ad tanımlayıcı biçimi (varsayılan: urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress). urn:oasis:names:tc:SAML:2.0:nameid-format:persistent kullanıyorsanız OVERLEAF_SAML_EMAIL_FIELD ortam değişkeninin tanımlı olduğundan emin olun. urn:oasis:names:tc:SAML:2.0:nameid-format:transient gerekiyorsa, örneğin kullanıcının e-posta adresine ayarlanabilecek OVERLEAF_SAML_USER_ID_FIELD ortam değişkenini de tanımlamanız gerekir.
OVERLEAF_SAML_ACCEPTED_CLOCK_SKEW_MS
OnBefore ve NotOnOrAfter onay koşulu geçerlilik zaman damgaları kontrol edilirken istemci ile sunucu arasında kabul edilebilir olan saat farkı (milisaniye cinsinden). -1 olarak ayarlamak bu koşulların kontrolünü tamamen devre dışı bırakır. Varsayılan değer 0’dır.
OVERLEAF_SAML_ATTRIBUTE_CONSUMING_SERVICE_INDEX
IdP’ye yanıta hangi öznitelik kümesini ekleyeceğini bildirmek için AuthnRequest’e eklenecek AttributeConsumingServiceIndex özniteliği (bağlantı).
OVERLEAF_SAML_AUTHN_CONTEXT
Kimlik doğrulama bağlamı istemek için ad tanımlayıcı biçimi değerlerinden oluşan JSON dizisi. Varsayılan: ["urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport"].
OVERLEAF_SAML_FORCE_AUTHN
true ise, hizmet sağlayıcıdan gelen ilk SAML isteği, kullanıcının geçerli bir oturumu olsa bile IdP’nin kullanıcının kimliğini yeniden doğrulamaya zorlaması gerektiğini belirtir.
OVERLEAF_SAML_DISABLE_REQUESTED_AUTHN_CONTEXT
true ise belirli bir kimlik doğrulama bağlamı istenmez. Örneğin, parolasız oturum açma gibi ek bağlamlara (urn:oasis:names:tc:SAML:2.0:ac:classes:X509) izin vermek için bunu true olarak ayarlayabilirsiniz. Ek bağlamların desteklenmesi IdP’nize bağlıdır.
OVERLEAF_SAML_AUTHN_REQUEST_BINDING
HTTP-POST olarak ayarlanırsa, IdP’den kimlik doğrulama HTTP POST bağlaması üzerinden istenir; aksi takdirde varsayılan olarak HTTP-Redirect kullanılır.
OVERLEAF_SAML_VALIDATE_IN_RESPONSE_TO
always ise, gelen SAML yanıtlarında InResponseTo doğrulanır.
never ise, InResponseTo doğrulanmaz (varsayılan).
ifPresent ise, InResponseTo yalnızca gelen SAML yanıtında mevcutsa doğrulanır.
OVERLEAF_SAML_WANT_ASSERTIONS_SIGNED ve OVERLEAF_SAML_WANT_AUTHN_RESPONSE_SIGNED
true (varsayılan) olarak ayarlandığında Overleaf, sırasıyla SAML Onaylarının ve SAML Kimlik Doğrulama Yanıtının tamamının IdP tarafından imzalanmasını bekler. Her iki seçenek de false olduğunda, onaylardan veya yanıttan en az birinin imzalanmış olması gerekir.
OVERLEAF_SAML_REQUEST_ID_EXPIRATION_PERIOD_MS
Bir SAML isteği için oluşturulan İstek Kimliğinin, bir SAML yanıtının InResponseTo alanında görüldüğünde artık geçerli sayılmayacağı süre sonunu tanımlar. Varsayılan: 28800000 (8 saat).
OVERLEAF_SAML_LOGOUT_URL
Oturum kapatma istekleriyle çağrılacak temel adres (varsayılan: entryPoint).
‘logout’ isteklerine eklenecek ek sorgu parametrelerinden oluşan JSON sözlüğü.
OVERLEAF_SAML_IS_ADMIN_FIELD ve OVERLEAF_SAML_IS_ADMIN_FIELD_VALUE
Her iki ortam değişkeni de ayarlandığında, SAML IdP tarafından döndürülen profil OVERLEAF_SAML_IS_ADMIN_FIELD ile belirtilen özniteliği içeriyorsa ve değeri OVERLEAF_SAML_IS_ADMIN_FIELD_VALUE ile eşleşiyorsa ya da OVERLEAF_SAML_IS_ADMIN_FIELD_VALUE değerini içeren bir diziyse oturum açma işlemi user.isAdmin = true olarak günceller; aksi takdirde user.isAdminfalse olarak ayarlanır. Bu değişkenlerden herhangi biri ayarlanmamışsa, yönetici durumu yalnızca Launchpad’de yönetici kullanıcı oluşturulurken true olarak ayarlanır.
Kimlik Sağlayıcı için Meta VerilerOverleaf CE’nin güncel sürümü, Hizmet Sağlayıcı Meta Verilerini almak için bir uç nokta içerir: http://my-overleaf-instance.com/saml/metaKimlik Sağlayıcının, Overleaf sunucusunu bir “Hizmet Sağlayıcı” olarak tanıyacak şekilde yapılandırılması gerekir. Bunun nasıl yapılacağına ilişkin talimatlar için SAML sunucunuzun belgelerine başvurun.Aşağıda uygun Hizmet Sağlayıcı meta verilerine bir örnek verilmiştir:
Sertifikaları, AssertionConsumerService.Location, SingleLogoutService.Location ve EntityDescriptor.entityID değerlerini not edin ve IdP yapılandırmanızda uygun şekilde ayarlayın ya da meta veri dosyasını IdP yöneticisine gönderin.
Örnek variables.env dosyası (minimum)
OVERLEAF_APP_NAME="Our Overleaf Instance"ENABLED_LINKED_FILE_TYPES=project_file,project_output_file,url# Enables Thumbnail generation using ImageMagickENABLE_CONVERSIONS=true# Disables email confirmation requirementEMAIL_CONFIRMATION_DISABLED=true## Nginx# NGINX_WORKER_PROCESSES=4# NGINX_WORKER_CONNECTIONS=768## Set for TLS via nginx-proxy# OVERLEAF_BEHIND_PROXY=true# OVERLEAF_SECURE_COOKIE=trueOVERLEAF_SITE_URL=http://my-overleaf-instance.comOVERLEAF_NAV_TITLE=Our Overleaf Instance# OVERLEAF_HEADER_IMAGE_URL=http://somewhere.com/mylogo.pngOVERLEAF_ADMIN_EMAIL=support@example.comOVERLEAF_LEFT_FOOTER=[{"text": "Contact your support team", "url": "mailto:support@example.com"}]OVERLEAF_RIGHT_FOOTER=[{"text":"Hello, I am on the Right", "url":"https://github.com/yu-i-i/overleaf-cep"}]OVERLEAF_EMAIL_FROM_ADDRESS=team@example.comOVERLEAF_EMAIL_SMTP_HOST=smtp.example.comOVERLEAF_EMAIL_SMTP_PORT=587OVERLEAF_EMAIL_SMTP_SECURE=false# OVERLEAF_EMAIL_SMTP_USER=# OVERLEAF_EMAIL_SMTP_PASS=# OVERLEAF_EMAIL_SMTP_NAME=OVERLEAF_EMAIL_SMTP_LOGGER=falseOVERLEAF_EMAIL_SMTP_TLS_REJECT_UNAUTH=trueOVERLEAF_EMAIL_SMTP_IGNORE_TLS=falseOVERLEAF_CUSTOM_EMAIL_FOOTER=This system is run by department xOVERLEAF_PROXY_LEARN=trueNAV_HIDE_POWERED_BY=true################### SAML ###################EXTERNAL_AUTH=samlOVERLEAF_SAML_ISSUER=MyOverleafOVERLEAF_SAML_IDENTITY_SERVICE_NAME='Log in with SAML Provider'OVERLEAF_SAML_EMAIL_FIELD=EmailOVERLEAF_SAML_FIRST_NAME_FIELD=DisplayNameOVERLEAF_SAML_LAST_NAME_FIELD=DisplayNameOVERLEAF_SAML_ENTRYPOINT=http://localhost:18000/login/saml/authorize/admin/SAML_OverleafOVERLEAF_SAML_IDP_CERT=/var/lib/overleaf/certs/idp_cert.pemOVERLEAF_SAML_SIGNATURE_ALGORITHM=
Bu bölüm, goauthentik ile test edilmiş bir kurulumu adım adım anlatır. https://overleaf.example.com adresini kendi OVERLEAF_SITE_URL değerinizle, https://authentik.example.com adresini ise Authentik’inizin adresiyle değiştirin.
1
Sağlayıcıyı ve uygulamayı oluşturun
Authentik’te Applications > Applications sayfasını açın ve New Application’a tıklayın. Sihirbaz, uygulamayı ve sağlayıcısını birlikte oluşturur.1. Uygulamaya bir ad ve bir slug verin, örneğin overleaf, ve Next’e tıklayın:
Audience: Overleaf için bir ad, örneğin overleaf. Overleaf bunu OVERLEAF_SAML_ISSUER olarak gönderir.
Authentik: uygulamanın SAML sağlayıcısı
4. Advanced protocol settings bölümünü açın ve şunları ayarlayın:
Signing Certificate: bir sertifika, örneğin authentik Self-signed Certificate
Sign assertions ve Sign responses: ikisi de açık
Service Provider Binding: Post
Authentik: test edilmiş bir sağlayıcının imzalama ve bağlama ayarları (test örneği)
5. Son sayfaya kadar Next’e tıklayın ve uygulamayı gönderin.
2
Değerleri sağlayıcı sayfasından kopyalayın
Sağlayıcıyı yeniden açın. Overleaf’in ihtiyaç duyduğu her şey genel bakış sayfasındadır:
Authentik: bir SAML sağlayıcısına genel bakış (test örneği)
Sağlayıcı sayfasında
Ortam değişkeni
SAML Endpoint
OVERLEAF_SAML_ENTRYPOINT ve OVERLEAF_SAML_LOGOUT_URL
Audience
OVERLEAF_SAML_ISSUER
Download signing certificate (bir dosya)
OVERLEAF_SAML_IDP_CERT, sonraki adıma bakın
SAML Configuration altındaki EntityID/Issuer, Authentik’in kendi adıdır. Bunu OVERLEAF_SAML_ISSUER değişkenine yazmayın, Audience değerini kullanın.
3
İmzalama sertifikasını yükleyin
Download signing certificate altındaki Download’a tıklayın ve dosyayı Toolkit dizininizde data/overleaf/certs/idp_cert.pem olarak kaydedin. Container bu dosyayı /var/lib/overleaf/certs/idp_cert.pem olarak görür:
Yönetici bayrağı her SAML oturum açma işleminde güncellenir. Yanlış bir alan veya değerle, SAML üzerinden oturum açan her yönetici yönetici haklarını kaybeder. Eşlemeyi önce ikinci bir yönetici hesabıyla test edin.
goauthentik için test edilmiş variables.env
variables.env
EXTERNAL_AUTH=samlOVERLEAF_SAML_IDENTITY_SERVICE_NAME=Log in with AuthentikOVERLEAF_SAML_ENTRYPOINT=https://authentik.example.com/application/saml/overleaf/OVERLEAF_SAML_LOGOUT_URL=https://authentik.example.com/application/saml/overleaf/OVERLEAF_SAML_ISSUER=overleafOVERLEAF_SAML_IDP_CERT=/var/lib/overleaf/certs/idp_cert.pemOVERLEAF_SAML_WANT_ASSERTIONS_SIGNED=trueOVERLEAF_SAML_WANT_AUTHN_RESPONSE_SIGNED=trueOVERLEAF_SAML_USER_ID_FIELD=http://schemas.goauthentik.io/2021/02/saml/usernameOVERLEAF_SAML_EMAIL_FIELD=http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddressOVERLEAF_SAML_FIRST_NAME_FIELD=http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameOVERLEAF_SAML_LAST_NAME_FIELD=http://schemas.goauthentik.io/2021/02/saml/usernameOVERLEAF_SAML_IS_ADMIN_FIELD=http://schemas.xmlsoap.org/claims/GroupOVERLEAF_SAML_IS_ADMIN_FIELD_VALUE=AdminsOVERLEAF_SAML_UPDATE_USER_DETAILS_ON_LOGIN=true
Son değiştirilme tarihi 6 Ekim 2026
Bu sayfa yararlı mıydı?
Assistant
Responses are generated using AI and may contain mistakes.