authentication) in elke Ayakaleaf Pro-pod. Er is geen achtergrondtaak en geen aparte pod. Richt de identity provider (IdP) in zoals in SAML-authenticatie en zet de waarden en het IdP-certificaat daarna in Kubernetes zoals hieronder.
Waar wat draait
Configuratie
1
Registreer Overleaf bij de IdP
De goauthentik-handleiding laat zien waar deze te vinden zijn.
2
Zet het IdP-certificaat in de Secret overleaf-certs
De Toolkit leest het certificaat uit Als de Secret al bestaat, voeg het bestand er dan aan toe: verwijder hem en maak hem opnieuw aan met elke
data/overleaf/certs/. Op Kubernetes komt het uit de Secret overleaf-certs, gemount op /var/lib/overleaf/certs zoals beschreven in Certificaten en andere bestanden:--from-file, of gebruik kubectl -n overleaf edit secret overleaf-certs.OVERLEAF_SAML_IDP_CERT accepteert een pad, of tijdens een certificaatwissel een JSON-lijst met paden. De PEM-tekst zelf wordt niet geaccepteerd.3
Voeg de instellingen toe aan de ConfigMap
30-config.yaml (additions)
OVERLEAF_SAML_*-instelling staat vermeld in Omgevingsvariabelen. Ze gaan allemaal in de ConfigMap: geen ervan is zelf geheim. Sleutelbestanden (OVERLEAF_SAML_PRIVATE_KEY, OVERLEAF_SAML_DECRYPTION_PVK) gaan in overleaf-certs, en de ConfigMap bevat hun paden.4
Toepassen en herstarten
overleaf-certs vereist ook deze herstart.Meerdere replica’s
De IdP stuurt de gebruiker terug naar de ACS-URL met een cross-sitePOST. Browsers sturen daar geen SameSite=Lax-cookies mee, dus het verzoek bevat noch de sessiecookie van Overleaf noch, in Chrome en Edge, de sticky cookie van de load balancer, en het kan bij elke replica aankomen. Met de standaardinstellingen maakt dat niet uit: de replica die het ontvangt, maakt de sessie aan in Redis en de load balancer houdt de gebruiker vanaf dan daar.
Getest op Kubernetes
Met goauthentik als IdP (HTTP-POST-binding, ondertekende assertions en responses), op Kubernetes 1.37 met drie replica’s achter HAProxy, slagen onze end-to-endtests voor SAML (19 gevallen): de eerste beheerder vanaf het launchpad die via SAML inlogt, inloggen met het IdP-certificaat uitoverleaf-certs, account aanmaken en opnieuw inloggen, de beheerderstoewijzing per groep en zonder toewijzing, naam en beheerdersvlag bijgewerkt bij elke login, uitloggen via de IdP, wachtwoordregels voor SAML-accounts, en geschorste accounts. OVERLEAF_SAML_VALIDATE_IN_RESPONSE_TO bleef op de standaardwaarde.
Vragen en antwoorden
Inloggen via SAML toont meteen „Something went wrong”
Inloggen via SAML toont meteen „Something went wrong”
Antwoord: De SAML-strategie kon niet worden geladen. De pod wordt toch gereed, dus kijk in het web-log van elke pod:Veelvoorkomende oorzaken:
OVERLEAF_SAML_IDP_CERT verwijst naar een bestand dat niet in overleaf-certs staat, een boolean die niet "true" of "false" is, of ongeldige JSON. Als EXTERNAL_AUTH meerdere methoden bevat, schakelt zo’n fout ook de methoden na SAML uit (ldap, dan saml, dan oidc).Moet de IdP Overleaf kunnen bereiken, of Overleaf de IdP?
Moet de IdP Overleaf kunnen bereiken, of Overleaf de IdP?
Antwoord: Geen van beide, voor inloggen en uitloggen: de IdP en Overleaf wisselen alleen berichten uit via de browser van de gebruiker. Alleen als je de IdP configureert met een metadata-URL, downloadt deze
${OVERLEAF_SITE_URL}/saml/meta.
