authentication-modulen) i hver Ayakaleaf Pro-pod. Den har ingen bakgrunnsjobb og ingen egen pod. Sett opp identitetsleverandøren (IdP) som i SAML-autentisering, og legg deretter verdiene og IdP-sertifikatet inn i Kubernetes som vist nedenfor.
Hvor ting kjører
Konfigurasjon
1
Registrer Overleaf hos IdP-en
Gjennomgangen for goauthentik viser hvor disse finnes.
2
Legg IdP-sertifikatet inn i Secret-en overleaf-certs
Toolkit leser sertifikatet fra Hvis Secret-en allerede finnes, legger du filen til i den i stedet: slett og opprett den på nytt med hver
data/overleaf/certs/. På Kubernetes kommer det fra Secret-en overleaf-certs, montert på /var/lib/overleaf/certs som beskrevet i Sertifikater og andre filer:--from-file, eller bruk kubectl -n overleaf edit secret overleaf-certs.OVERLEAF_SAML_IDP_CERT tar en sti, eller en JSON-liste med stier under et sertifikatbytte. Den tar ikke selve PEM-teksten.3
Legg innstillingene til i ConfigMap-en
30-config.yaml (additions)
OVERLEAF_SAML_*-innstillinger er oppført i Miljøvariabler. Alle går inn i ConfigMap-en: ingen av dem er en hemmelighet i seg selv. Nøkkelfiler (OVERLEAF_SAML_PRIVATE_KEY, OVERLEAF_SAML_DECRYPTION_PVK) legges i overleaf-certs, og ConfigMap-en inneholder stiene deres.4
Bruk og start på nytt
overleaf-certs krever også denne omstarten.Flere replikaer
IdP-en sender brukeren tilbake til ACS-URL-en med enPOST på tvers av nettsteder. Nettlesere sender ikke SameSite=Lax-informasjonskapsler med den, så forespørselen har verken Overleafs sesjonsinformasjonskapsel eller, i Chrome og Edge, lastbalansererens sticky-informasjonskapsel, og den kan havne på hvilken som helst replika. Med standardinnstillingene spiller dette ingen rolle: replikaen som mottar den, oppretter sesjonen i Redis, og lastbalansereren holder brukeren der fra da av.
Testet på Kubernetes
Med goauthentik som IdP (HTTP-POST-binding, signerte assertions og svar), på Kubernetes 1.37 med tre replikaer bak HAProxy, består ende-til-ende-testene våre for SAML (19 tilfeller): den første administratoren fra launchpad som logger inn via SAML, innlogging med IdP-sertifikatet fraoverleaf-certs, opprettelse av konto og ny innlogging, administratortilordning etter gruppe og uten tilordning, navn og administratorflagg oppdatert ved hver innlogging, utlogging via IdP-en, passordregler for SAML-kontoer, og suspenderte kontoer. OVERLEAF_SAML_VALIDATE_IN_RESPONSE_TO ble stående på standardverdien.
Q&A
Innlogging via SAML viser «Something went wrong» med en gang
Innlogging via SAML viser «Something went wrong» med en gang
Svar: SAML-strategien ble ikke lastet. Poden blir likevel klar, så se i web-loggen til hver pod:Vanlige årsaker:
OVERLEAF_SAML_IDP_CERT peker på en fil som ikke finnes i overleaf-certs, en boolsk verdi som ikke er "true" eller "false", eller ugyldig JSON. Når EXTERNAL_AUTH lister opp flere metoder, slår en slik feil også av metodene etter SAML (ldap, deretter saml, deretter oidc).Må IdP-en kunne nå Overleaf, eller Overleaf IdP-en?
Må IdP-en kunne nå Overleaf, eller Overleaf IdP-en?
Svar: Ingen av delene, for innlogging og utlogging: IdP-en og Overleaf utveksler bare meldinger via brukerens nettleser. Bare hvis du konfigurerer IdP-en med en metadata-URL, laster den ned
${OVERLEAF_SITE_URL}/saml/meta.
