> ## Documentation Index
> Fetch the complete documentation index at: https://ayakaleaf-pro.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# SAML-autentisering

<Info>
  Denne funksjonen er utviklet av [yu-i-i/overleaf-cep](https://github.com/yu-i-i/overleaf-cep). Her tilbyr vi litt dokumentasjon for konfigurasjonen din.
</Info>

### Konfigurasjon

Internt bruker SAML-modulen i Overleaf biblioteket [passport-saml](https://github.com/node-saml/passport-saml), og de fleste av de følgende konfigurasjonsalternativene sendes videre til `passport-saml`. Hvis du har problemer med å konfigurere SAML, er det lurt å lese README-filen for `passport-saml` for å få et inntrykk av hvilken konfigurasjon den forventer.

Miljøvariabelen `EXTERNAL_AUTH` er påkrevd for å aktivere SAML-autentiseringsmodulen. Denne miljøvariabelen angir hvilke eksterne autentiseringsmetoder som er aktivert. Verdien av variabelen er en liste. Hvis listen inneholder `saml`, aktiveres SAML-autentisering.

For eksempel: `EXTERNAL_AUTH=ldap saml`

Når SAML-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 `samlIdentifiers`-felt med følgende struktur:

```json theme={null}
samlIdentifiers: [
  {
    externalUserId: "...",
    providerId: "1",
    userIdAttribute: "..."
  }
]
```

`externalUserId` må samsvare med verdien av egenskapen som er angitt av `userIdAttribute` i brukerprofilen som returneres av IdP-serveren.

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, slettes feltet `hashedPassword` for å deaktivere lokal autentisering, og feltet `samlIdentifiers` legges til.
* Hvis ingen samsvarende bruker blir funnet, opprettes en ny bruker med e-postadressen og `samlIdentifiers` fra IdP-profilen.

<strong>Merk:</strong> For øyeblikket støttes bare én SAML-IdP. Feltet `providerId` i `samlIdentifiers` er fast satt til `'1'`.

#### Miljøvariabler

* `OVERLEAF_SAML_IDENTITY_SERVICE_NAME`
  * Visningsnavn for identitetstjenesten, brukt på innloggingssiden (standard: `Log in with SAML IdP`).
* `OVERLEAF_SAML_USER_ID_FIELD`
  * Verdien av dette attributtet brukes av Overleaf som ekstern bruker-ID; standard er `nameID`.
* `OVERLEAF_SAML_EMAIL_FIELD`
  * Navnet på e-postfeltet i brukerprofilen; standard er `nameID`.
* `OVERLEAF_SAML_FIRST_NAME_FIELD`
  * Navnet på firstName-feltet i brukerprofilen; standard er `givenName`.
* `OVERLEAF_SAML_LAST_NAME_FIELD`
  * Navnet på lastName-feltet i brukerprofilen; standard er `lastName`
* `OVERLEAF_SAML_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` slås av.
* `OVERLEAF_SAML_ENTRYPOINT` <strong>(påkrevd)</strong>
  * Inngangspunkt-URL for SAML-identitetstjenesten.
    * Eksempel: `https://idp.example.com/simplesaml/saml2/idp/SSOService.php`
    * Azure-eksempel: `https://login.microsoftonline.com/8b26b46a-6dd3-45c7-a104-f883f4db1f6b/saml2`
* `OVERLEAF_SAML_ISSUER` <strong>(påkrevd)</strong>
  * Navnet på utstederen (Issuer).
* `OVERLEAF_SAML_AUDIENCE`
  * Forventet Audience i SAML-svaret; standard er verdien av `OVERLEAF_SAML_ISSUER`.
* `OVERLEAF_SAML_IDP_CERT` <strong>(påkrevd)</strong>
  * Sti til en fil som inneholder identitetsleverandørens offentlige sertifikat, brukt til å validere signaturene i innkommende SAML-svar. Hvis identitetsleverandøren har flere gyldige signeringssertifikater, kan dette være en JSON-matrise med stier til sertifikatene.
    * Eksempel (ett sertifikat): `/var/lib/overleaf/certs/idp_cert.pem`
    * Eksempel (flere sertifikater): `["var/lib/overleaf/certs/idp_cert.pem", "/var/lib/overleaf/certs/idp_cert_old.pem"]`
* `OVERLEAF_SAML_PUBLIC_CERT`
  * Sti til en fil som inneholder det offentlige signeringssertifikatet som bygges inn i autentiseringsforespørsler, slik at IdP-en kan validere signaturene i den innkommende SAML-forespørselen. Det er påkrevd når du setter opp [metadata-endepunktet](https://github.com/yu-i-i/overleaf-cep/wiki/Extended-CE:-SAML-Authentication#metadata-for-the-identity-provider) når strategien er konfigurert med en `OVERLEAF_SAML_PRIVATE_KEY`. En JSON-matrise med stier til sertifikater kan oppgis for å støtte sertifikatrotasjon. Når du oppgir en matrise med sertifikater, skal den første oppføringen i matrisen samsvare med gjeldende `OVERLEAF_SAML_PRIVATE_KEY`. Flere oppføringer i matrisen kan brukes til å publisere kommende sertifikater til IdP-er før du endrer `OVERLEAF_SAML_PRIVATE_KEY`.
* `OVERLEAF_SAML_PRIVATE_KEY`
  * Sti til en fil som inneholder en PEM-formatert privat nøkkel som samsvarer med `OVERLEAF_SAML_PUBLIC_CERT`, brukt til å signere autentiseringsforespørsler sendt av passport-saml.
* `OVERLEAF_SAML_DECRYPTION_CERT`
  * Sti til en fil som inneholder et offentlig sertifikat, brukt for [metadata-endepunktet](https://github.com/yu-i-i/overleaf-cep/wiki/Extended-CE:-SAML-Authentication#metadata-for-the-identity-provider).
* `OVERLEAF_SAML_DECRYPTION_PVK`
  * Sti til en fil som inneholder en privat nøkkel som samsvarer med `OVERLEAF_SAML_DECRYPTION_CERT`, og som brukes til å forsøke å dekryptere eventuelle krypterte assertions som mottas.
* `OVERLEAF_SAML_SIGNATURE_ALGORITHM`
  * Angir valgfritt signaturalgoritmen for signering av forespørsler; gyldige verdier er 'sha1' (standard), 'sha256' (foretrukket), 'sha512' (sikrest, sjekk om IdP-en din støtter den).
* `OVERLEAF_SAML_ADDITIONAL_PARAMS`
  * JSON-ordbok med ekstra spørringsparametere som legges til alle forespørsler.
* `OVERLEAF_SAML_ADDITIONAL_AUTHORIZE_PARAMS`
  * JSON-ordbok med ekstra spørringsparametere som legges til 'authorize'-forespørsler.
    * Eksempel: `{"some_key": "some_value"}`
* `OVERLEAF_SAML_IDENTIFIER_FORMAT`
  * Format for navneidentifikator som skal forespørres fra identitetsleverandøren (standard: `urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress`). Hvis du bruker `urn:oasis:names:tc:SAML:2.0:nameid-format:persistent`, må du sørge for at miljøvariabelen `OVERLEAF_SAML_EMAIL_FIELD` er definert. Hvis `urn:oasis:names:tc:SAML:2.0:nameid-format:transient` kreves, må du også definere miljøvariabelen `OVERLEAF_SAML_USER_ID_FIELD`, som for eksempel kan settes til brukerens e-postadresse.
* `OVERLEAF_SAML_ACCEPTED_CLOCK_SKEW_MS`
  * Tidsavvik i millisekunder som aksepteres mellom klient og server ved kontroll av gyldighetstidsstemplene OnBefore og NotOnOrAfter i assertion-betingelser. Settes den til -1, deaktiveres kontrollen av disse betingelsene helt. Standard er 0.
* `OVERLEAF_SAML_ATTRIBUTE_CONSUMING_SERVICE_INDEX`
  * Attributtet `AttributeConsumingServiceIndex` som legges til AuthnRequest for å instruere IdP-en om hvilket attributtsett som skal legges ved svaret ([lenke](http://blog.aniljohn.com/2014/01/data-minimization-front-channel-saml-attribute-requests.html)).
* `OVERLEAF_SAML_AUTHN_CONTEXT`
  * JSON-matrise med verdier for navneidentifikatorformat for å forespørre autentiseringskontekst. Standard: `["urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport"]`.
* `OVERLEAF_SAML_FORCE_AUTHN`
  * Hvis `true`, angir den første SAML-forespørselen fra tjenesteleverandøren at IdP-en skal tvinge brukeren til å autentisere seg på nytt, selv om vedkommende har en gyldig økt.
* `OVERLEAF_SAML_DISABLE_REQUESTED_AUTHN_CONTEXT`
  * Hvis `true`, forespørres ingen bestemt autentiseringskontekst. Du kan for eksempel sette denne til `true` for å tillate andre kontekster, som passordløse innlogginger (`urn:oasis:names:tc:SAML:2.0:ac:classes:X509`). Støtte for andre kontekster avhenger av IdP-en din.
* `OVERLEAF_SAML_AUTHN_REQUEST_BINDING`
  * Hvis den er satt til `HTTP-POST`, forespørres autentisering fra IdP-en via HTTP POST-binding; ellers brukes HTTP-Redirect som standard.
* `OVERLEAF_SAML_VALIDATE_IN_RESPONSE_TO`
  * Hvis `always`, valideres InResponseTo i innkommende SAML-svar.
  * Hvis `never`, valideres ikke InResponseTo (standard).
  * Hvis `ifPresent`, valideres InResponseTo bare hvis det finnes i det innkommende SAML-svaret.
* `OVERLEAF_SAML_WANT_ASSERTIONS_SIGNED` og `OVERLEAF_SAML_WANT_AUTHN_RESPONSE_SIGNED`
  * Når de er satt til `true` (standard), forventer Overleaf at henholdsvis SAML-assertions og hele SAML-autentiseringssvaret er signert av IdP-en. Når begge alternativene er `false`, må minst én av assertions eller svaret være signert.
* `OVERLEAF_SAML_REQUEST_ID_EXPIRATION_PERIOD_MS`
  * Angir utløpstiden for når en forespørsels-ID generert for en SAML-forespørsel ikke lenger er gyldig hvis den forekommer i feltet `InResponseTo` i et SAML-svar. Standard: 28800000 (8 timer).
* `OVERLEAF_SAML_LOGOUT_URL`
  * Basisadresse som kalles ved utloggingsforespørsler (standard: `entryPoint`).
    * Eksempel: `https://idp.example.com/simplesaml/saml2/idp/SingleLogoutService.php`
* `OVERLEAF_SAML_ADDITIONAL_LOGOUT_PARAMS`
  * JSON-ordbok med ekstra spørringsparametere som legges til 'logout'-forespørsler.
* `OVERLEAF_SAML_IS_ADMIN_FIELD` og `OVERLEAF_SAML_IS_ADMIN_FIELD_VALUE`
  * Når begge miljøvariablene er satt, oppdaterer innloggingsprosessen `user.isAdmin = true` hvis profilen som returneres av SAML-IdP-en, inneholder attributtet angitt av `OVERLEAF_SAML_IS_ADMIN_FIELD` og verdien enten samsvarer med `OVERLEAF_SAML_IS_ADMIN_FIELD_VALUE` eller er en matrise som inneholder `OVERLEAF_SAML_IS_ADMIN_FIELD_VALUE`; ellers settes `user.isAdmin` til `false`. Hvis én av disse variablene ikke er satt, settes administratorstatusen bare til `true` når administratorbrukeren opprettes i Launchpad.

**Metadata for identitetsleverandøren**

Gjeldende versjon av Overleaf CE inkluderer et endepunkt for å hente metadata for tjenesteleverandøren: `http://my-overleaf-instance.com/saml/meta`

Identitetsleverandøren må konfigureres til å gjenkjenne Overleaf-serveren som en "Service Provider" (tjenesteleverandør). Se dokumentasjonen for SAML-serveren din for instruksjoner om hvordan du gjør dette.

Nedenfor er et eksempel på passende metadata for tjenesteleverandøren:

<Accordion title="ol-meta.xml">
  ```text theme={null}
  <?xml version="1.0"?>
  <EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata"
                    xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
                    entityID="MyOverleaf"
                    ID="_b508c83b7dda452f5b269383fb391107116f8f57">
    <SPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol" AuthnRequestsSigned="true" WantAssertionsSigned="true">
      <KeyDescriptor use="signing">
        <ds:KeyInfo>
          <ds:X509Data>
            <ds:X509Certificate>MII...
  [skipped]
  </ds:X509Certificate>
          </ds:X509Data>
        </ds:KeyInfo>
      </KeyDescriptor>
      <KeyDescriptor use="encryption">
        <ds:KeyInfo>
          <ds:X509Data>
            <ds:X509Certificate>MII...
  [skipped]
  </ds:X509Certificate>
          </ds:X509Data>
        </ds:KeyInfo>
        <EncryptionMethod Algorithm="http://www.w3.org/2009/xmlenc11#aes256-gcm"/>
        <EncryptionMethod Algorithm="http://www.w3.org/2009/xmlenc11#aes128-gcm"/>
        <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc"/>
        <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc"/>
      </KeyDescriptor>
      <SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
                           Location="https://my-overleaf-instance.com/saml/logout/callback"/>
      <NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</NameIDFormat>
      <AssertionConsumerService index="1"
                                isDefault="true"
                                Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
                                Location="https://my-overleaf-instance.com/saml/login/callback"/>
    </SPSSODescriptor>
  </EntityDescriptor>

  ```
</Accordion>

Legg merke til sertifikatene, `AssertionConsumerService.Location`, `SingleLogoutService.Location` og `EntityDescriptor.entityID`, og angi dem på riktig måte i IdP-konfigurasjonen din, eller send metadatafilen til IdP-administratoren.

<Accordion title="Eksempel på variables.env-fil (minimum)">
  ```text theme={null}
  OVERLEAF_APP_NAME="Our Overleaf Instance"

  ENABLED_LINKED_FILE_TYPES=project_file,project_output_file,url

  # Enables Thumbnail generation using ImageMagick
  ENABLE_CONVERSIONS=true

  # Disables email confirmation requirement
  EMAIL_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=true

  OVERLEAF_SITE_URL=http://my-overleaf-instance.com
  OVERLEAF_NAV_TITLE=Our Overleaf Instance
  # OVERLEAF_HEADER_IMAGE_URL=http://somewhere.com/mylogo.png
  OVERLEAF_ADMIN_EMAIL=support@example.com

  OVERLEAF_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.com
  OVERLEAF_EMAIL_SMTP_HOST=smtp.example.com
  OVERLEAF_EMAIL_SMTP_PORT=587
  OVERLEAF_EMAIL_SMTP_SECURE=false
  # OVERLEAF_EMAIL_SMTP_USER=
  # OVERLEAF_EMAIL_SMTP_PASS=
  # OVERLEAF_EMAIL_SMTP_NAME=
  OVERLEAF_EMAIL_SMTP_LOGGER=false
  OVERLEAF_EMAIL_SMTP_TLS_REJECT_UNAUTH=true
  OVERLEAF_EMAIL_SMTP_IGNORE_TLS=false
  OVERLEAF_CUSTOM_EMAIL_FOOTER=This system is run by department x

  OVERLEAF_PROXY_LEARN=true
  NAV_HIDE_POWERED_BY=true

  #################
  ##     SAML    ##
  #################

  EXTERNAL_AUTH=saml
  OVERLEAF_SAML_ISSUER=MyOverleaf
  OVERLEAF_SAML_IDENTITY_SERVICE_NAME='Log in with SAML Provider'
  OVERLEAF_SAML_EMAIL_FIELD=Email
  OVERLEAF_SAML_FIRST_NAME_FIELD=DisplayName
  OVERLEAF_SAML_LAST_NAME_FIELD=DisplayName
  OVERLEAF_SAML_ENTRYPOINT=http://localhost:18000/login/saml/authorize/admin/SAML_Overleaf
  OVERLEAF_SAML_IDP_CERT=/var/lib/overleaf/certs/idp_cert.pem
  OVERLEAF_SAML_SIGNATURE_ALGORITHM=
  ```
</Accordion>

## Trinn for trinn: goauthentik

Dette er en gjennomgang av et oppsett som er testet mot [goauthentik](https://goauthentik.io/). Erstatt `https://overleaf.example.com` med din `OVERLEAF_SITE_URL` og `https://authentik.example.com` med adressen til din Authentik.

<Steps>
  <Step title="Opprett leverandøren og applikasjonen">
    I Authentik åpner du **Applications > Applications** og klikker **New Application**. Veiviseren oppretter applikasjonen og leverandøren samtidig.

    1\. Gi applikasjonen et navn og en slug, for eksempel `overleaf`, og klikk **Next**:

    <Frame caption="Authentik: navn og slug for applikasjonen">
      <img src="https://mintcdn.com/ayakaleaf-pro/TjqwH4XzxYAkHStq/images/on-premises/saml-authentik-app.png?fit=max&auto=format&n=TjqwH4XzxYAkHStq&q=85&s=e2405f63578ab00991ad5046665eab32" alt="" width="1120" height="810" data-path="images/on-premises/saml-authentik-app.png" />
    </Frame>

    2\. Velg **SAML Provider** og klikk **Next**:

    <Frame caption="Authentik: velg SAML-leverandøren">
      <img src="https://mintcdn.com/ayakaleaf-pro/TjqwH4XzxYAkHStq/images/on-premises/saml-authentik-type.png?fit=max&auto=format&n=TjqwH4XzxYAkHStq&q=85&s=537780362698d5088132048754ac6481" alt="" width="1120" height="810" data-path="images/on-premises/saml-authentik-type.png" />
    </Frame>

    3\. Fyll ut leverandøren:

    * **Authorization Flow**: `default-provider-authorization-implicit-consent`
    * **ACS URL**: `https://overleaf.example.com/saml/login/callback`
    * **Audience**: et navn for Overleaf, for eksempel `overleaf`. Overleaf sender det som `OVERLEAF_SAML_ISSUER`.

    <Frame caption="Authentik: SAML-leverandøren til applikasjonen">
      <img src="https://mintcdn.com/ayakaleaf-pro/TjqwH4XzxYAkHStq/images/on-premises/saml-authentik-create.png?fit=max&auto=format&n=TjqwH4XzxYAkHStq&q=85&s=4f15b87b90b355e13831b95c07abe427" alt="" width="1120" height="810" data-path="images/on-premises/saml-authentik-create.png" />
    </Frame>

    4\. Åpne **Advanced protocol settings** og angi:

    * **Signing Certificate**: et sertifikat, for eksempel `authentik Self-signed Certificate`
    * **Sign assertions** og **Sign responses**: begge på
    * **Service Provider Binding**: `Post`

    <Frame caption="Authentik: signering og binding for en testet leverandør (testinstans)">
      <img src="https://mintcdn.com/ayakaleaf-pro/TjqwH4XzxYAkHStq/images/on-premises/saml-authentik-advanced.png?fit=max&auto=format&n=TjqwH4XzxYAkHStq&q=85&s=39b136a219fb192ed42d337de0058166" alt="" width="1089" height="417" data-path="images/on-premises/saml-authentik-advanced.png" />
    </Frame>

    5\. Klikk **Next** til siste side og send inn applikasjonen.
  </Step>

  <Step title="Kopier verdiene fra leverandørsiden">
    Åpne leverandøren igjen. Alt Overleaf trenger, står i oversikten:

    <Frame caption="Authentik: oversikt over en SAML-leverandør (testinstans)">
      <img src="https://mintcdn.com/ayakaleaf-pro/TjqwH4XzxYAkHStq/images/on-premises/saml-authentik-provider.png?fit=max&auto=format&n=TjqwH4XzxYAkHStq&q=85&s=b73f3aa817b7a18286db6d810ab3b2e9" alt="" width="990" height="963" data-path="images/on-premises/saml-authentik-provider.png" />
    </Frame>

    | På leverandørsiden | Miljøvariabel |
    | - | - |
    | **SAML Endpoint** | `OVERLEAF_SAML_ENTRYPOINT` og `OVERLEAF_SAML_LOGOUT_URL` |
    | **Audience** | `OVERLEAF_SAML_ISSUER` |
    | **Download signing certificate** (en fil) | `OVERLEAF_SAML_IDP_CERT`, se neste trinn |

    <Warning>
      **EntityID/Issuer** under **SAML Configuration** er navnet på selve Authentik. Ikke legg det inn i `OVERLEAF_SAML_ISSUER`; bruk **Audience**.
    </Warning>
  </Step>

  <Step title="Installer signeringssertifikatet">
    Klikk **Download** under **Download signing certificate** og lagre filen som `data/overleaf/certs/idp_cert.pem` i Toolkit-katalogen din. Containeren ser den som `/var/lib/overleaf/certs/idp_cert.pem`:

    ```dotenv theme={null}
    OVERLEAF_SAML_IDP_CERT=/var/lib/overleaf/certs/idp_cert.pem
    ```
  </Step>

  <Step title="Tilordne attributtene">
    Authentik sender attributtene sine under disse navnene:

    ```dotenv theme={null}
    OVERLEAF_SAML_USER_ID_FIELD=http://schemas.goauthentik.io/2021/02/saml/username
    OVERLEAF_SAML_EMAIL_FIELD=http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
    OVERLEAF_SAML_FIRST_NAME_FIELD=http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
    OVERLEAF_SAML_LAST_NAME_FIELD=http://schemas.goauthentik.io/2021/02/saml/username
    ```

    Gruppene kommer som `http://schemas.xmlsoap.org/claims/Group`, en liste. Slik gjør du medlemmene av Authentik-gruppen `Admins` til administratorer i Overleaf:

    ```dotenv theme={null}
    OVERLEAF_SAML_IS_ADMIN_FIELD=http://schemas.xmlsoap.org/claims/Group
    OVERLEAF_SAML_IS_ADMIN_FIELD_VALUE=Admins
    ```

    <Warning>
      Administratorflagget oppdateres ved hver SAML-innlogging. Med feil felt eller verdi mister alle administratorer som logger inn via SAML administratorrettighetene. Test tilordningen med en ekstra administratorkonto først.
    </Warning>
  </Step>
</Steps>

<Accordion title="Testet variables.env for goauthentik">
  ```dotenv title="variables.env" wrap theme={null}
  EXTERNAL_AUTH=saml
  OVERLEAF_SAML_IDENTITY_SERVICE_NAME=Log in with Authentik
  OVERLEAF_SAML_ENTRYPOINT=https://authentik.example.com/application/saml/overleaf/
  OVERLEAF_SAML_LOGOUT_URL=https://authentik.example.com/application/saml/overleaf/
  OVERLEAF_SAML_ISSUER=overleaf
  OVERLEAF_SAML_IDP_CERT=/var/lib/overleaf/certs/idp_cert.pem
  OVERLEAF_SAML_WANT_ASSERTIONS_SIGNED=true
  OVERLEAF_SAML_WANT_AUTHN_RESPONSE_SIGNED=true
  OVERLEAF_SAML_USER_ID_FIELD=http://schemas.goauthentik.io/2021/02/saml/username
  OVERLEAF_SAML_EMAIL_FIELD=http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
  OVERLEAF_SAML_FIRST_NAME_FIELD=http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
  OVERLEAF_SAML_LAST_NAME_FIELD=http://schemas.goauthentik.io/2021/02/saml/username
  OVERLEAF_SAML_IS_ADMIN_FIELD=http://schemas.xmlsoap.org/claims/Group
  OVERLEAF_SAML_IS_ADMIN_FIELD_VALUE=Admins
  OVERLEAF_SAML_UPDATE_USER_DETAILS_ON_LOGIN=true
  ```
</Accordion>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.