Skip to main content
Denne funksjonen er utviklet av yu-i-i/overleaf-cep. Her tilbyr vi litt dokumentasjon for konfigurasjonen din.

Konfigurasjon

Internt bruker OIDC-modulen i Overleaf biblioteket passport-openidconnect. Hvis du har problemer med å konfigurere OpenID Connect, er det lurt å lese README-filen for passport-openidconnect for å få et inntrykk av hvilken konfigurasjon den forventer. Miljøvariabelen EXTERNAL_AUTH er påkrevd for å aktivere OIDC-autentiseringsmodulen. Denne miljøvariabelen angir hvilke eksterne autentiseringsmetoder som er aktivert. Verdien av variabelen er en liste. Hvis listen inneholder oidc, aktiveres OIDC-autentisering. For eksempel: EXTERNAL_AUTH=ldap oidc Når OIDC-autentiseringsmetoden brukes, blir brukeren omdirigert til autentiseringssiden til identitetsleverandøren (IdP). Hvis IdP-en autentiserer brukeren, søkes det i Overleafs brukerdatabase etter en post som inneholder et thirdPartyIdentifiers-felt med følgende struktur:
externalUserId må samsvare med bruker-ID-en i profilen som returneres av IdP-serveren (se miljøvariabelen OVERLEAF_OIDC_USER_ID_FIELD), og providerId må samsvare med ID-en til OIDC-leverandøren (se OVERLEAF_OIDC_PROVIDER_ID). Hvis ingen samsvarende post blir funnet, søkes det i databasen etter en bruker med en primær e-postadresse som samsvarer med e-postadressen i brukerprofilen fra IdP-en:
  • Hvis en slik bruker blir funnet, oppdateres feltet thirdPartyIdentifiers.
  • Hvis ingen samsvarende bruker blir funnet og JIT-opprettelse av kontoer ikke er deaktivert, opprettes en ny bruker med e-postadressen og thirdPartyIdentifiers fra IdP-profilen.
I begge tilfeller sies brukeren å være «koblet» til den eksterne OIDC-brukeren. Brukeren kan kobles fra OIDC-leverandøren på siden /user/settings.

Finne verdiene med discovery-dokumentet

Hver OpenID-leverandør (OP) publiserer et discovery-dokument på <issuer>/.well-known/openid-configuration. Kopier verdiene derfra i stedet for å skrive dem inn for hånd; ett feil tegn er nok til at innloggingen slutter å fungere.
1

Finn discovery-URL-en

OP-en din viser den på siden til klienten (leverandøren) du opprettet for Overleaf. I Authentik åpner du Applications > Providers, velger leverandøren og ser etter OpenID Configuration URL og OpenID Configuration Issuer:

Authentik: discovery-URL-en og utstederen til en leverandør (testinstans)

URL-en ser vanligvis slik ut:
  • 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

Les av verdiene

Åpne URL-en i en nettleser, eller kjør følgende på Overleaf-serveren:
Svaret fra Authentik ser slik ut:
Authentik viser også disse URL-ene lenger ned på leverandørsiden:

Authentik: endepunktene til en leverandør (testinstans)

3

Kopier dem inn i variables.env

4

Kontroller at Overleaf kan nå OP-en

Overleaf kaller token- og userinfo-endepunktene fra innsiden av containeren sin, så OP-en må kunne nås derfra, ikke bare fra nettleseren din:
Den skal skrive ut 200.
Kopier issuer nøyaktig, inkludert den avsluttende skråstreken. Overleaf sammenligner den tegn for tegn med utstederen i ID-tokenet; enhver forskjell gjør at alle OIDC-innlogginger mislykkes med:{"message":{"message":"ID token not issued by expected OpenID provider."}}I Authentik hører utstederen til applikasjonen (.../application/o/<application-slug>/). Den er ikke adressen til Authentik-serveren, selv om authorize-, token- og userinfo-URL-ene deles av alle applikasjoner.

Miljøvariabler

Verdiene for de følgende fem påkrevde variablene finner du via endepunktet .well-known/openid-configuration hos OpenID-leverandøren (OP) din, se ovenfor.
  • OVERLEAF_OIDC_ISSUER (påkrevd)
  • OVERLEAF_OIDC_AUTHORIZATION_URL (påkrevd)
  • OVERLEAF_OIDC_TOKEN_URL (påkrevd)
  • OVERLEAF_OIDC_USER_INFO_URL (påkrevd)
  • OVERLEAF_OIDC_LOGOUT_URL (påkrevd)
Verdiene for de følgende to påkrevde variablene får du fra administratoren av OP-en din
  • OVERLEAF_OIDC_CLIENT_ID (påkrevd)
  • OVERLEAF_OIDC_CLIENT_SECRET (påkrevd)
  • OVERLEAF_OIDC_SCOPE
    • Standard: openid profile email
  • OVERLEAF_OIDC_PROVIDER_ID
    • Vilkårlig ID for OP-en, standard er oidc.
  • OVERLEAF_OIDC_PROVIDER_NAME
    • Navnet på OP-en, brukt i delen Linked Accounts på siden /user/settings, standard er OIDC Provider.
  • OVERLEAF_OIDC_IDENTITY_SERVICE_NAME
    • Visningsnavn for identitetstjenesten, brukt på innloggingssiden (standard: Log in with $OVERLEAF_OIDC_PROVIDER_NAME).
  • OVERLEAF_OIDC_PROVIDER_DESCRIPTION
    • Beskrivelse av OP-en, brukt i delen Linked Accounts (standard: Log in with $OVERLEAF_OIDC_PROVIDER_NAME).
  • OVERLEAF_OIDC_PROVIDER_INFO_LINK
    • Learn more-URL i beskrivelsen av OP-en; standard: ingen Learn more-lenke i beskrivelsen.
  • OVERLEAF_OIDC_PROVIDER_HIDE_NOT_LINKED
    • Ikke vis OP-en på siden /user/settings hvis brukerens konto ikke er koblet til OP-en; standard false.
  • OVERLEAF_OIDC_USER_ID_FIELD
    • Verdien av dette attributtet brukes av Overleaf som ekstern bruker-ID; standard er id. Andre mulige fornuftige verdier er email og username (tilsvarer OIDC-claimet preferred_username).
  • OVERLEAF_OIDC_ALLOWED_EMAIL_DOMAINS
    • Begrenser Just-in-Time-opprettelse (JIT) av kontoer for brukere som autentiserer seg via OIDC. Hvis den er satt til en kommaseparert liste med domenenavn, opprettes en ny konto bare hvis domenet i brukerens e-postadresse samsvarer med et av domenene i listen. Hvis domenet ikke samsvarer, må en administrator opprette brukerkontoen manuelt med OIDC-brukerens e-postadresse, enten med et sterkt tilfeldig passord eller helst helt uten feltet hashedPassword. Domenenavn kan begynne med jokertegnet *. for å samsvare med underdomener.
      • Eksempel: For å tillate JIT-opprettelse av kontoer for brukere med e-postadresser som name@example.com og name@math.example.com:
        OVERLEAF_OIDC_ALLOWED_EMAIL_DOMAINS=example.com, *.example.com
      • Eksempel: For å deaktivere JIT-opprettelse av kontoer fullstendig:
        OVERLEAF_OIDC_ALLOWED_EMAIL_DOMAINS=
  • OVERLEAF_OIDC_UPDATE_USER_DETAILS_ON_LOGIN
    • Hvis den er satt til true, oppdateres brukerens felt first_name og last_name ved innlogging, og skjemaet for brukeropplysninger på siden /user/settings deaktiveres.
  • OVERLEAF_OIDC_IS_ADMIN_FIELD og OVERLEAF_OIDC_IS_ADMIN_FIELD_VALUE
    • Når begge miljøvariablene er satt, oppdaterer innloggingsprosessen user.isAdmin = true hvis profilen som returneres av OP-en, inneholder attributtet angitt av OVERLEAF_OIDC_IS_ADMIN_FIELD og verdien enten samsvarer med OVERLEAF_OIDC_IS_ADMIN_FIELD_VALUE eller er en matrise som inneholder OVERLEAF_OIDC_IS_ADMIN_FIELD_VALUE (for eksempel groups-claimet); ellers settes user.isAdmin til false. Hvis OVERLEAF_OIDC_IS_ADMIN_FIELD er email, brukes verdien av attributtet emails[0].value til samsvarskontrollen.
Omdirigerings-URL-en for OpenID-leverandøren din er https://my-overleaf-instance.com/oidc/login/callback.
variables.env

Trinn for trinn: goauthentik

Dette er en gjennomgang av et oppsett som er testet mot goauthentik. Erstatt https://overleaf.example.com med din OVERLEAF_SITE_URL og https://authentik.example.com med adressen til din Authentik.
1

Opprett leverandøren

I Authentik åpner du Applications > Providers, klikker New Provider, velger OAuth2/OpenID Provider og klikker Next.
  • Client Type: Confidential.
  • Redirect URIs (under Protocol settings): legg til https://overleaf.example.com/oidc/login/callback med samsvarsmodusen Strict.
  • Kopier Client ID og Client Secret nå, inn i OVERLEAF_OIDC_CLIENT_ID og OVERLEAF_OIDC_CLIENT_SECRET.

Authentik: Client ID og Client Secret for en ny leverandør

Authentik viser klienthemmeligheten bare mens du oppretter leverandøren. Senere tilbyr redigeringsskjemaet bare Modify, som erstatter hemmeligheten med en ny.
2

Opprett applikasjonen

Åpne Applications > Applications, opprett en ny applikasjon, gi den et navn og en slug, for eksempel overleaf, og velg leverandøren. Slugen blir en del av utstederen: https://authentik.example.com/application/o/overleaf/.
3

Kopier URL-ene

Følg Finne verdiene med discovery-dokumentet ovenfor for å fylle inn de fem URL-ene.
4

Tilordne administratorene (valgfritt)

Authentik sender brukerens grupper som groups-claimet, en matrise. Slik gjør du medlemmene av Authentik-gruppen Admins til administratorer i Overleaf:
Administratorflagget oppdateres ved hver OIDC-innlogging. Med feil felt eller verdi mister alle administratorer som logger inn via OIDC administratorrettighetene, inkludert administratoren som ble opprettet i launchpad. Test tilordningen med en ekstra administratorkonto først.
variables.env
Sist endret 6. oktober 2026