Skip to main content
Denne funktion er udviklet af yu-i-i/overleaf-cep. Her stiller vi noget dokumentation til rådighed for din konfiguration.

Konfiguration

Internt bruger Overleafs OIDC-modul biblioteket passport-openidconnect. Hvis du har problemer med at konfigurere OpenID Connect, er det en god idé at læse README-filen for passport-openidconnect for at få en fornemmelse af den konfiguration, det forventer. Miljøvariablen EXTERNAL_AUTH er påkrævet for at aktivere OIDC-godkendelsesmodulet. Denne miljøvariabel angiver, hvilke eksterne godkendelsesmetoder der er aktiveret. Variablens værdi er en liste. Hvis listen indeholder oidc, aktiveres OIDC-godkendelse. For eksempel: EXTERNAL_AUTH=ldap oidc Når OIDC-godkendelsesmetoden bruges, omdirigeres brugeren til identitetsudbyderens (IdP) godkendelsesside. Hvis IdP’en godkender brugeren, kontrolleres Overleafs brugerdatabase for en post, der indeholder et thirdPartyIdentifiers-felt med følgende struktur:
externalUserId skal matche bruger-ID’et i den profil, som IdP-serveren returnerer (se miljøvariablen OVERLEAF_OIDC_USER_ID_FIELD), og providerId skal matche ID’et for OIDC-udbyderen (se OVERLEAF_OIDC_PROVIDER_ID). Hvis der ikke findes en matchende post, søges der i databasen efter en bruger, hvis primære e-mailadresse matcher e-mailadressen i IdP-brugerprofilen:
  • Hvis en sådan bruger findes, opdateres feltet thirdPartyIdentifiers.
  • Hvis der ikke findes en matchende bruger, og JIT-kontooprettelse ikke er deaktiveret, oprettes en ny bruger med e-mailadressen og thirdPartyIdentifiers fra IdP-profilen.
I begge tilfælde siges brugeren at være “linket” til den eksterne OIDC-bruger. Brugeren kan fjerne linket til OIDC-udbyderen på siden /user/settings.

Find værdierne med discovery-dokumentet

Alle OpenID-udbydere (OP) offentliggør et discovery-dokument på <issuer>/.well-known/openid-configuration. Kopiér værdierne derfra i stedet for at skrive dem i hånden; ét forkert tegn er nok til at ødelægge login.
1

Find discovery-URL'en

Din OP viser den på siden for den klient (udbyder), du har oprettet til Overleaf. I Authentik skal du åbne Applications > Providers, vælge udbyderen og kigge efter OpenID Configuration URL og OpenID Configuration Issuer:

Authentik: discovery-URL'en og issueren for en udbyder (testinstans)

URL’en ser typisk sådan ud:
  • Keycloak: https://keycloak.example.com/realms/<realm>/.well-known/openid-configuration
  • Authentik: https://authentik.example.com/application/o/<application-slug>/.well-known/openid-configuration
2

Aflæs værdierne

Åbn URL’en i en browser, eller kør følgende på Overleaf-serveren:
Svaret fra Authentik ser sådan ud:
Authentik viser også disse URL’er længere nede på udbydersiden:

Authentik: endpoints for en udbyder (testinstans)

3

Kopiér dem ind i variables.env

4

Kontrollér, at Overleaf kan nå OP'en

Overleaf kalder token- og userinfo-endpointene inde fra sin container, så OP’en skal kunne nås derfra, ikke kun fra din browser:
Det bør udskrive 200.
Kopiér issuer nøjagtigt, inklusive den afsluttende skråstreg. Overleaf sammenligner den tegn for tegn med issueren i ID-tokenet; enhver forskel får alle OIDC-logins til at mislykkes med:{"message":{"message":"ID token not issued by expected OpenID provider."}}I Authentik hører issueren til applikationen (.../application/o/<application-slug>/). Den er ikke adressen på Authentik-serveren, selvom authorize-, token- og userinfo-URL’erne deles af alle applikationer.

Miljøvariabler

Værdierne for de følgende fem påkrævede variabler kan findes via endpointet .well-known/openid-configuration hos din OpenID-udbyder (OP), se ovenfor.
  • OVERLEAF_OIDC_ISSUER (påkrævet)
  • OVERLEAF_OIDC_AUTHORIZATION_URL (påkrævet)
  • OVERLEAF_OIDC_TOKEN_URL (påkrævet)
  • OVERLEAF_OIDC_USER_INFO_URL (påkrævet)
  • OVERLEAF_OIDC_LOGOUT_URL (påkrævet)
Værdierne for de følgende to påkrævede variabler leveres af administratoren af din OP
  • OVERLEAF_OIDC_CLIENT_ID (påkrævet)
  • OVERLEAF_OIDC_CLIENT_SECRET (påkrævet)
  • OVERLEAF_OIDC_SCOPE
    • Standard: openid profile email
  • OVERLEAF_OIDC_PROVIDER_ID
    • Vilkårligt ID for OP’en, standard er oidc.
  • OVERLEAF_OIDC_PROVIDER_NAME
    • Navnet på OP’en, der bruges i afsnittet Linked Accounts på siden /user/settings, standard er OIDC Provider.
  • OVERLEAF_OIDC_IDENTITY_SERVICE_NAME
    • Visningsnavn for identitetstjenesten, der bruges på login-siden (standard: Log in with $OVERLEAF_OIDC_PROVIDER_NAME).
  • OVERLEAF_OIDC_PROVIDER_DESCRIPTION
    • Beskrivelse af OP’en, der bruges i afsnittet Linked Accounts (standard: Log in with $OVERLEAF_OIDC_PROVIDER_NAME).
  • OVERLEAF_OIDC_PROVIDER_INFO_LINK
    • Learn more-URL i beskrivelsen af OP’en, standard: intet Learn more-link i beskrivelsen.
  • OVERLEAF_OIDC_PROVIDER_HIDE_NOT_LINKED
    • Vis ikke OP’en på siden /user/settings, hvis brugerens konto ikke er linket til OP’en, standard false.
  • OVERLEAF_OIDC_USER_ID_FIELD
    • Værdien af denne attribut bruges af Overleaf som eksternt bruger-ID, standard er id. Andre mulige fornuftige værdier er email og username (svarende til OIDC-claimet preferred_username).
  • OVERLEAF_OIDC_ALLOWED_EMAIL_DOMAINS
    • Begrænser Just-in-Time-kontooprettelse (JIT) for brugere, der godkendes via OIDC. Hvis variablen sættes til en kommasepareret liste over domænenavne, oprettes en ny konto kun, hvis domænet i brugerens e-mailadresse matcher et af de angivne domæner. Hvis domænet ikke matcher, skal en administrator manuelt oprette brugerkontoen med OIDC-brugerens e-mailadresse, enten med en stærk tilfældig adgangskode eller helst helt uden feltet hashedPassword. Domænenavne kan indeholde et foranstillet *.-jokertegn for at matche underdomæner.
      • Eksempel: For at tillade JIT-kontooprettelse for brugere med e-mailadresser som name@example.com og name@math.example.com:
        OVERLEAF_OIDC_ALLOWED_EMAIL_DOMAINS=example.com, *.example.com
      • Eksempel: For helt at deaktivere JIT-kontooprettelse:
        OVERLEAF_OIDC_ALLOWED_EMAIL_DOMAINS=
  • OVERLEAF_OIDC_UPDATE_USER_DETAILS_ON_LOGIN
    • Hvis den er sat til true, opdateres brugerens felter first_name og last_name ved login, og formularen med brugeroplysninger på siden /user/settings deaktiveres.
  • OVERLEAF_OIDC_IS_ADMIN_FIELD og OVERLEAF_OIDC_IS_ADMIN_FIELD_VALUE
    • Når begge miljøvariabler er sat, opdaterer login-processen user.isAdmin = true, hvis den profil, OP’en returnerer, indeholder den attribut, der er angivet med OVERLEAF_OIDC_IS_ADMIN_FIELD, og dens værdi enten matcher OVERLEAF_OIDC_IS_ADMIN_FIELD_VALUE eller er et array, der indeholder OVERLEAF_OIDC_IS_ADMIN_FIELD_VALUE (for eksempel claimet groups); ellers sættes user.isAdmin til false. Hvis OVERLEAF_OIDC_IS_ADMIN_FIELD er email, bruges værdien af attributten emails[0].value til matchkontrollen.
Omdirigerings-URL’en til din OpenID-udbyder er https://my-overleaf-instance.com/oidc/login/callback.
variables.env

Trin for trin: goauthentik

Denne vejledning gennemgår en opsætning, der er testet mod goauthentik. Erstat https://overleaf.example.com med din OVERLEAF_SITE_URL og https://authentik.example.com med adressen på din Authentik.
1

Opret udbyderen

I Authentik skal du åbne Applications > Providers, klikke på New Provider, vælge OAuth2/OpenID Provider og klikke på Next.
  • Client Type: Confidential.
  • Redirect URIs (under Protocol settings): tilføj https://overleaf.example.com/oidc/login/callback med matchtilstanden Strict.
  • Kopiér Client ID og Client Secret nu, ind i OVERLEAF_OIDC_CLIENT_ID og OVERLEAF_OIDC_CLIENT_SECRET.

Authentik: Client ID og Client Secret for en ny udbyder

Authentik viser kun client secret, mens du opretter udbyderen. Senere tilbyder redigeringsformularen kun Modify, som erstatter secret med en ny.
2

Opret applikationen

Åbn Applications > Applications, opret en ny applikation, giv den et navn og en slug, for eksempel overleaf, og vælg udbyderen. Sluggen bliver en del af issueren: https://authentik.example.com/application/o/overleaf/.
3

Kopiér URL'erne

Følg Find værdierne med discovery-dokumentet ovenfor for at udfylde de fem URL’er.
4

Tilknyt administratorerne (valgfrit)

Authentik sender brugerens grupper som claimet groups, et array. Sådan gør du medlemmerne af Authentik-gruppen Admins til administratorer i Overleaf:
Administratorflaget opdateres ved hvert OIDC-login. Med et forkert felt eller en forkert værdi mister alle administratorer, der logger ind via OIDC, deres administratorrettigheder, inklusive den administrator, der blev oprettet i launchpad. Test tilknytningen med en anden administratorkonto først.
variables.env
Sidst ændret 6. oktober 2026