Internt använder Overleafs SAML-modul biblioteket passport-saml, och de flesta av följande konfigurationsalternativ skickas vidare till passport-saml. Om du har problem med att konfigurera SAML är det värt att läsa README-filen för passport-saml för att få en känsla för vilken konfiguration den förväntar sig.Miljövariabeln EXTERNAL_AUTH krävs för att aktivera SAML-autentiseringsmodulen. Den här miljövariabeln anger vilka externa autentiseringsmetoder som aktiveras. Variabelns värde är en lista. Om listan innehåller saml aktiveras SAML-autentisering.Till exempel: EXTERNAL_AUTH=ldap samlNär SAML-autentiseringsmetoden används omdirigeras användaren till identitetsleverantörens (IdP) autentiseringssida. Om IdP:n autentiserar användaren kontrolleras Overleafs användardatabas efter en post som innehåller ett samlIdentifiers-fält med följande struktur:
externalUserId måste matcha värdet på den egenskap som anges av userIdAttribute i användarprofilen som returneras av IdP-servern.Om ingen matchande post hittas söks databasen igenom efter en användare vars primära e-postadress matchar e-postadressen i IdP:ns användarprofil:
Om en sådan användare hittas tas fältet hashedPassword bort för att inaktivera lokal autentisering, och fältet samlIdentifiers läggs till.
Om ingen matchande användare hittas skapas en ny användare med e-postadressen och samlIdentifiers från IdP-profilen.
Obs: För närvarande stöds endast en SAML-IdP. Fältet providerId i samlIdentifiers är låst till '1'.
Visningsnamn för identitetstjänsten, som används på inloggningssidan (standard: Log in with SAML IdP).
OVERLEAF_SAML_USER_ID_FIELD
Värdet på det här attributet används av Overleaf som externt användar-ID, standardvärdet är nameID.
OVERLEAF_SAML_EMAIL_FIELD
Namnet på e-postfältet i användarprofilen, standardvärdet är nameID.
OVERLEAF_SAML_FIRST_NAME_FIELD
Namnet på firstName-fältet i användarprofilen, standardvärdet är givenName.
OVERLEAF_SAML_LAST_NAME_FIELD
Namnet på lastName-fältet i användarprofilen, standardvärdet är lastName
OVERLEAF_SAML_UPDATE_USER_DETAILS_ON_LOGIN
Om den sätts till true uppdateras användarens fält first_name och last_name vid inloggning, och formuläret för användaruppgifter på sidan /user/settings stängs av.
Exempel för Azure: https://login.microsoftonline.com/8b26b46a-6dd3-45c7-a104-f883f4db1f6b/saml2
OVERLEAF_SAML_ISSUER(obligatorisk)
Utfärdarens namn (Issuer).
OVERLEAF_SAML_AUDIENCE
Förväntad Audience i SAML-svaret, standardvärdet är värdet av OVERLEAF_SAML_ISSUER.
OVERLEAF_SAML_IDP_CERT(obligatorisk)
Sökväg till en fil som innehåller identitetsleverantörens publika certifikat, som används för att validera signaturerna på inkommande SAML-svar. Om identitetsleverantören har flera giltiga signeringscertifikat kan värdet vara en JSON-array med sökvägar till certifikaten.
Exempel (ett certifikat): /var/lib/overleaf/certs/idp_cert.pem
Exempel (flera certifikat): ["var/lib/overleaf/certs/idp_cert.pem", "/var/lib/overleaf/certs/idp_cert_old.pem"]
OVERLEAF_SAML_PUBLIC_CERT
Sökväg till en fil som innehåller det publika signeringscertifikat som bäddas in i autentiseringsförfrågningar så att IdP:n kan validera signaturerna på den inkommande SAML-förfrågan. Den krävs när metadata-endpointen konfigureras och strategin är konfigurerad med en OVERLEAF_SAML_PRIVATE_KEY. En JSON-array med sökvägar till certifikat kan anges för att stödja certifikatrotation. När en array med certifikat anges ska den första posten i arrayen matcha den aktuella OVERLEAF_SAML_PRIVATE_KEY. Ytterligare poster i arrayen kan användas för att publicera kommande certifikat till IdP:er innan OVERLEAF_SAML_PRIVATE_KEY ändras.
OVERLEAF_SAML_PRIVATE_KEY
Sökväg till en fil som innehåller en PEM-formaterad privat nyckel som matchar OVERLEAF_SAML_PUBLIC_CERT och som används för att signera autentiseringsförfrågningar som skickas av passport-saml.
OVERLEAF_SAML_DECRYPTION_CERT
Sökväg till en fil som innehåller ett publikt certifikat, som används för metadata-endpointen.
OVERLEAF_SAML_DECRYPTION_PVK
Sökväg till en fil som innehåller en privat nyckel som matchar OVERLEAF_SAML_DECRYPTION_CERT och som används för att försöka dekryptera eventuella krypterade intyg (assertions) som tas emot.
OVERLEAF_SAML_SIGNATURE_ALGORITHM
Anger valfritt signaturalgoritmen för signering av förfrågningar; giltiga värden är ‘sha1’ (standard), ‘sha256’ (rekommenderas), ‘sha512’ (säkrast, kontrollera att din IdP stöder det).
OVERLEAF_SAML_ADDITIONAL_PARAMS
JSON-ordbok med ytterligare frågeparametrar som läggs till i alla förfrågningar.
OVERLEAF_SAML_ADDITIONAL_AUTHORIZE_PARAMS
JSON-ordbok med ytterligare frågeparametrar som läggs till i ‘authorize’-förfrågningar.
Exempel: {"some_key": "some_value"}
OVERLEAF_SAML_IDENTIFIER_FORMAT
Format för namnidentifierare som begärs från identitetsleverantören (standard: urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress). Om du använder urn:oasis:names:tc:SAML:2.0:nameid-format:persistent måste du se till att miljövariabeln OVERLEAF_SAML_EMAIL_FIELD är definierad. Om urn:oasis:names:tc:SAML:2.0:nameid-format:transient krävs måste du också definiera miljövariabeln OVERLEAF_SAML_USER_ID_FIELD, som till exempel kan sättas till användarens e-postadress.
OVERLEAF_SAML_ACCEPTED_CLOCK_SKEW_MS
Tillåten tidsavvikelse i millisekunder mellan klient och server vid kontroll av giltighetstidsstämplarna i intygsvillkoren OnBefore och NotOnOrAfter. Om värdet sätts till -1 inaktiveras kontrollen av dessa villkor helt. Standardvärdet är 0.
OVERLEAF_SAML_ATTRIBUTE_CONSUMING_SERVICE_INDEX
Attributet AttributeConsumingServiceIndex som läggs till i AuthnRequest för att instruera IdP:n vilken attributuppsättning som ska bifogas svaret (länk).
OVERLEAF_SAML_AUTHN_CONTEXT
JSON-array med värden för namnidentifierarformat för att begära autentiseringskontext. Standard: ["urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport"].
OVERLEAF_SAML_FORCE_AUTHN
Om true anger den initiala SAML-förfrågan från tjänsteleverantören att IdP:n ska tvinga fram en ny autentisering av användaren, även om hen har en giltig session.
OVERLEAF_SAML_DISABLE_REQUESTED_AUTHN_CONTEXT
Om true begärs ingen specifik autentiseringskontext. Du kan till exempel sätta detta till true för att tillåta ytterligare kontexter, såsom lösenordslösa inloggningar (urn:oasis:names:tc:SAML:2.0:ac:classes:X509). Stödet för ytterligare kontexter beror på din IdP.
OVERLEAF_SAML_AUTHN_REQUEST_BINDING
Om den sätts till HTTP-POST begärs autentisering från IdP:n via HTTP POST-bindning; annars används HTTP-Redirect som standard.
OVERLEAF_SAML_VALIDATE_IN_RESPONSE_TO
Om always valideras InResponseTo i inkommande SAML-svar.
Om never valideras InResponseTo inte (standard).
Om ifPresent valideras InResponseTo endast om det finns i det inkommande SAML-svaret.
OVERLEAF_SAML_WANT_ASSERTIONS_SIGNED och OVERLEAF_SAML_WANT_AUTHN_RESPONSE_SIGNED
När de är satta till true (standard) förväntar sig Overleaf att SAML-intygen, respektive hela SAML-autentiseringssvaret, är signerade av IdP:n. När båda alternativen är false måste åtminstone antingen intygen eller svaret vara signerade.
OVERLEAF_SAML_REQUEST_ID_EXPIRATION_PERIOD_MS
Anger efter hur lång tid ett förfrågnings-ID som genererats för en SAML-förfrågan inte längre är giltigt om det förekommer i fältet InResponseTo i ett SAML-svar. Standard: 28800000 (8 timmar).
OVERLEAF_SAML_LOGOUT_URL
basadress som anropas med utloggningsförfrågningar (standard: entryPoint).
JSON-ordbok med ytterligare frågeparametrar som läggs till i ‘logout’-förfrågningar.
OVERLEAF_SAML_IS_ADMIN_FIELD och OVERLEAF_SAML_IS_ADMIN_FIELD_VALUE
När båda miljövariablerna är satta uppdaterar inloggningsprocessen user.isAdmin = true om profilen som returneras av SAML-IdP:n innehåller attributet som anges av OVERLEAF_SAML_IS_ADMIN_FIELD och dess värde antingen matchar OVERLEAF_SAML_IS_ADMIN_FIELD_VALUE eller är en array som innehåller OVERLEAF_SAML_IS_ADMIN_FIELD_VALUE; annars sätts user.isAdmin till false. Om någon av dessa variabler inte är satt sätts administratörsstatusen till true endast när administratörsanvändaren skapas i Launchpad.
Metadata för identitetsleverantörenDen aktuella versionen av Overleaf CE innehåller en endpoint för att hämta metadata för tjänsteleverantören: http://my-overleaf-instance.com/saml/metaIdentitetsleverantören måste konfigureras så att den känner igen Overleaf-servern som en ”Service Provider” (tjänsteleverantör). Se dokumentationen för din SAML-server för instruktioner om hur du gör detta.Nedan följer ett exempel på lämplig metadata för tjänsteleverantören:
Notera certifikaten, AssertionConsumerService.Location, SingleLogoutService.Location och EntityDescriptor.entityID och ange dem på lämpligt sätt i din IdP-konfiguration, eller skicka metadatafilen till IdP-administratören.
Exempel på variables.env-fil (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=
Här går vi igenom en konfiguration som har testats mot goauthentik. Ersätt https://overleaf.example.com med din OVERLEAF_SITE_URL och https://authentik.example.com med adressen till din Authentik.
1
Skapa leverantören och applikationen
Öppna Applications > Applications i Authentik och klicka på New Application. Guiden skapar applikationen och dess leverantör samtidigt.1. Ge applikationen ett namn och en slug, till exempel overleaf, och klicka på Next:
Audience: ett namn för Overleaf, till exempel overleaf. Overleaf skickar det som OVERLEAF_SAML_ISSUER.
Authentik: applikationens SAML-leverantör
4. Öppna Advanced protocol settings och ange:
Signing Certificate: ett certifikat, till exempel authentik Self-signed Certificate
Sign assertions och Sign responses: båda aktiverade
Service Provider Binding: Post
Authentik: signering och bindning för en testad leverantör (testinstans)
5. Klicka på Next fram till sista sidan och skicka in applikationen.
2
Kopiera värdena från leverantörssidan
Öppna leverantören igen. Allt som Overleaf behöver finns i dess översikt:
Authentik: översikt över en SAML-leverantör (testinstans)
På leverantörssidan
Miljövariabel
SAML Endpoint
OVERLEAF_SAML_ENTRYPOINT och OVERLEAF_SAML_LOGOUT_URL
Audience
OVERLEAF_SAML_ISSUER
Download signing certificate (en fil)
OVERLEAF_SAML_IDP_CERT, se nästa steg
EntityID/Issuer under SAML Configuration är namnet på Authentik självt. Ange det inte i OVERLEAF_SAML_ISSUER, utan använd Audience.
3
Installera signeringscertifikatet
Klicka på Download under Download signing certificate och spara filen som data/overleaf/certs/idp_cert.pem i din Toolkit-katalog. Containern ser den som /var/lib/overleaf/certs/idp_cert.pem:
Grupperna skickas som http://schemas.xmlsoap.org/claims/Group, en lista. Så här gör du medlemmarna i Authentik-gruppen Admins till administratörer i Overleaf:
Administratörsflaggan uppdateras vid varje SAML-inloggning. Med fel fält eller värde förlorar varje administratör som loggar in via SAML sina administratörsrättigheter. Testa mappningen med ett andra administratörskonto först.
Testad variables.env för goauthentik
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
Senast ändrad 6 oktober 2026
Var denna sida till hjälp?
Assistant
Responses are generated using AI and may contain mistakes.