authentication-Modul) in jedem Ayakaleaf-Pro-Pod abgewickelt. Sie hat keinen Hintergrundjob und keinen separaten Pod. Richten Sie den Identitätsanbieter (IdP) wie unter SAML-Authentifizierung beschrieben ein und übertragen Sie die Werte und das IdP-Zertifikat dann wie unten gezeigt in Kubernetes.
Wo was läuft
Konfiguration
1
Overleaf beim IdP registrieren
Die goauthentik-Schritt-für-Schritt-Anleitung zeigt, wo sich diese befinden.
2
Das IdP-Zertifikat in das Secret overleaf-certs eintragen
Das Toolkit liest das Zertifikat aus Wenn das Secret bereits existiert, fügen Sie die Datei stattdessen hinzu: Löschen Sie es und erstellen Sie es mit allen
data/overleaf/certs/. Auf Kubernetes stammt es aus dem Secret overleaf-certs, das wie unter Zertifikate und andere Dateien beschrieben unter /var/lib/overleaf/certs eingehängt ist:--from-file neu, oder verwenden Sie kubectl -n overleaf edit secret overleaf-certs.OVERLEAF_SAML_IDP_CERT akzeptiert einen Pfad oder, während eines Zertifikatswechsels, eine JSON-Liste von Pfaden. Den PEM-Text selbst akzeptiert es nicht.3
Die Einstellungen zur ConfigMap hinzufügen
30-config.yaml (additions)
OVERLEAF_SAML_*-Einstellung ist unter Umgebungsvariablen aufgeführt. Alle gehören in die ConfigMap: Keine davon ist selbst ein Geheimnis. Schlüsseldateien (OVERLEAF_SAML_PRIVATE_KEY, OVERLEAF_SAML_DECRYPTION_PVK) gehören in overleaf-certs, und die ConfigMap enthält ihre Pfade.4
Anwenden und neu starten
overleaf-certs diesen Neustart.Mehrere Replikate
Der IdP leitet den Benutzer mit einem Cross-Site-POST zur ACS-URL zurück. Browser senden dabei keine SameSite=Lax-Cookies mit, sodass die Anfrage weder Overleafs Sitzungscookie noch, in Chrome und Edge, das Sticky-Cookie des Load Balancers enthält und bei jedem beliebigen Replikat ankommen kann. Mit den Standardeinstellungen spielt das keine Rolle: Das empfangende Replikat erstellt die Sitzung in Redis, und der Load Balancer hält den Benutzer von da an dort.
Getestet auf Kubernetes
Mit goauthentik als IdP (HTTP-POST-Binding, signierte Assertions und Responses) bestehen auf Kubernetes 1.37 mit drei Replikaten hinter HAProxy unsere End-to-End-Tests für SAML (19 Fälle): die Anmeldung des ersten Administrators aus dem Launchpad über SAML, die Anmeldung mit dem IdP-Zertifikat ausoverleaf-certs, Kontoerstellung und erneute Anmeldung, die Administratorzuordnung per Gruppe und ohne Zuordnung, Name und Administrator-Flag bei jeder Anmeldung aktualisiert, Abmeldung über den IdP, Passwortregeln für SAML-Konten sowie gesperrte Konten. OVERLEAF_SAML_VALIDATE_IN_RESPONSE_TO blieb auf seinem Standardwert.
Q&A
Die Anmeldung über SAML zeigt sofort „Something went wrong“
Die Anmeldung über SAML zeigt sofort „Something went wrong“
Antwort: Die SAML-Strategie konnte nicht geladen werden. Der Pod wird trotzdem bereit, also sehen Sie im web-Log jedes Pods nach:Häufige Ursachen:
OVERLEAF_SAML_IDP_CERT verweist auf eine Datei, die nicht in overleaf-certs liegt, ein boolescher Wert ist nicht "true" oder "false", oder ungültiges JSON. Wenn EXTERNAL_AUTH mehrere Methoden auflistet, deaktiviert ein solcher Fehler auch die Methoden nach SAML (ldap, dann saml, dann oidc).Muss der IdP Overleaf erreichen oder Overleaf den IdP?
Muss der IdP Overleaf erreichen oder Overleaf den IdP?
Antwort: Für An- und Abmeldung weder noch: Der IdP und Overleaf tauschen Nachrichten nur über den Browser des Benutzers aus. Nur wenn Sie den IdP mit einer Metadaten-URL konfigurieren, lädt er
${OVERLEAF_SITE_URL}/saml/meta herunter.
