authentication) all’interno di ogni pod di Ayakaleaf Pro. Non ha job in background né un pod separato. Configura l’identity provider (IdP) come descritto in Autenticazione SAML, quindi inserisci i valori e il certificato dell’IdP in Kubernetes come indicato di seguito.
Dove vengono eseguiti i componenti
Configurazione
1
Registra Overleaf presso l'IdP
La procedura guidata per goauthentik mostra dove si trovano.
2
Inserisci il certificato dell'IdP nel Secret overleaf-certs
Il Toolkit legge il certificato da Se il Secret esiste già, aggiungi invece il file a quello esistente: eliminalo e ricrealo con tutti i
data/overleaf/certs/. Su Kubernetes proviene dal Secret overleaf-certs, montato in /var/lib/overleaf/certs come descritto in Certificati e altri file:--from-file, oppure usa kubectl -n overleaf edit secret overleaf-certs.OVERLEAF_SAML_IDP_CERT accetta un percorso, o un elenco JSON di percorsi durante un rinnovo del certificato. Non accetta il testo PEM stesso.3
Aggiungi le impostazioni alla ConfigMap
30-config.yaml (additions)
OVERLEAF_SAML_* è elencata in Variabili d’ambiente. Vanno tutte nella ConfigMap: nessuna è di per sé un segreto. I file di chiave (OVERLEAF_SAML_PRIVATE_KEY, OVERLEAF_SAML_DECRYPTION_PVK) vanno in overleaf-certs, e la ConfigMap ne contiene i percorsi.4
Applica e riavvia
overleaf-certs richiede questo riavvio.Più repliche
L’IdP rimanda l’utente all’URL ACS con unaPOST cross-site. I browser non inviano con essa i cookie SameSite=Lax, quindi la richiesta non porta né il cookie di sessione di Overleaf né, in Chrome ed Edge, il cookie sticky del load balancer, e può arrivare a qualsiasi replica. Con le impostazioni predefinite questo non ha importanza: la replica che la riceve crea la sessione in Redis e da quel momento il load balancer mantiene l’utente su di essa.
Testato su Kubernetes
Con goauthentik come IdP (binding HTTP-POST, asserzioni e risposte firmate), su Kubernetes 1.37 con tre repliche dietro HAProxy, i nostri test end-to-end per SAML vengono superati (19 casi): il primo amministratore dal launchpad che accede tramite SAML, l’accesso con il certificato dell’IdP daoverleaf-certs, la creazione dell’account e un nuovo accesso, la mappatura degli amministratori per gruppo e senza mappatura, nome e flag di amministratore aggiornati a ogni accesso, il logout tramite l’IdP, le regole per le password degli account SAML e gli account sospesi. OVERLEAF_SAML_VALIDATE_IN_RESPONSE_TO è stato lasciato al valore predefinito.
Domande e risposte
L'accesso tramite SAML mostra subito «Something went wrong»
L'accesso tramite SAML mostra subito «Something went wrong»
Risposta: La strategia SAML non è stata caricata. Il pod diventa comunque pronto, quindi controlla il log di web di ciascun pod:Cause comuni:
OVERLEAF_SAML_IDP_CERT punta a un file che non si trova in overleaf-certs, un valore booleano diverso da "true" o "false", oppure un JSON non valido. Se EXTERNAL_AUTH elenca più metodi, un errore di questo tipo disattiva anche i metodi successivi a SAML (ldap, poi saml, poi oidc).L'IdP deve raggiungere Overleaf, o Overleaf l'IdP?
L'IdP deve raggiungere Overleaf, o Overleaf l'IdP?
Risposta: Nessuno dei due, per l’accesso e il logout: l’IdP e Overleaf si scambiano messaggi solo attraverso il browser dell’utente. Solo se configuri l’IdP con un URL di metadati, questo scarica
${OVERLEAF_SITE_URL}/saml/meta.
