authentication) in elke Ayakaleaf Pro-pod. Er is geen achtergrondtaak en geen aparte pod. De providerkant (client, redirect-URI’s, admin-claim) is hetzelfde als bij de Toolkit, dus richt eerst je OpenID Provider (OP) in met OIDC-authenticatie en zet de waarden daarna in Kubernetes zoals hieronder.
Waar wat draait
Configuratie
1
Registreer Overleaf bij de OP
Sta deze adressen toe in je OP, opgebouwd uit
OVERLEAF_SITE_URL:Zoek de vijf URL’s op in het discovery-document van de OP zoals beschreven in De waarden vinden met het discovery-document.
2
Voeg de instellingen toe aan de ConfigMap
Voeg toe aan
overleaf-env (30-config.yaml, of 60-config.yaml voor meerdere replica’s):30-config.yaml (additions)
EXTERNAL_AUTH accepteert een door spaties gescheiden lijst, bijvoorbeeld ldap oidc. Zie Omgevingsvariabelen voor elke OVERLEAF_OIDC_*-instelling; ze gaan allemaal in de ConfigMap, behalve het client secret.3
Zet het client secret in de Secret
4
Vertrouw een privé-CA (optioneel)
Als het certificaat van de OP afkomstig is van je eigen CA, voeg de CA dan toe aan de Secret
overleaf-certs die is gemount op /var/lib/overleaf/certs (zie Certificaten en andere bestanden) en laat Node.js ernaar verwijzen:5
Toepassen en herstarten
405 voor een GET) betekent dat het endpoint bereikbaar is; 000 betekent dat het niet bereikbaar is.Meerdere replica’s
Niets extra’s. Destate-waarde van een login en het ID-token dat voor uitloggen wordt gebruikt, worden bewaard in de sessie, die in Redis staat, zodat de callback werkt op welke replica hem ook ontvangt.
Getest op Kubernetes
Met goauthentik als OP, op Kubernetes 1.37 met drie replica’s achter HAProxy, slagen onze end-to-endtests voor OIDC (35 gevallen): inloggen, en uitloggen via de OP; de beheerderstoewijzing per groep, per e-mail en per enkele waarde, en zonder toewijzing; naam en beheerdersvlag bijgewerkt bij elke login; accounts koppelen en ontkoppelen; wachtwoordherstel en wachtwoordwijzigingen van OIDC-accounts; geschorste accounts;OVERLEAF_OIDC_ALLOWED_EMAIL_DOMAINS; OVERLEAF_DISABLE_LOCAL_LOGIN; en OIDC in combinatie met openbare toegang.
Vragen en antwoorden
Waar zie ik waarom een login is mislukt?
Waar zie ik waarom een login is mislukt?
Antwoord: In het web-log van de pod die het verzoek heeft afgehandeld, niet in Controleer bij meerdere replica’s elke
kubectl logs:overleaf-N.
