authentication) à l’intérieur de chaque pod Ayakaleaf Pro. Elle n’a ni tâche d’arrière-plan ni pod distinct. Le côté fournisseur (client, URI de redirection, claim d’administrateur) est identique à celui du Toolkit ; configurez donc d’abord votre fournisseur OpenID (OP) avec Authentification OIDC, puis reportez les valeurs dans Kubernetes comme ci-dessous.
Où les composants s’exécutent
Configuration
1
Enregistrer Overleaf auprès de l'OP
Autorisez dans votre OP ces adresses, construites à partir de
OVERLEAF_SITE_URL :Trouvez les cinq URL dans le document de découverte de l’OP comme décrit dans Trouver les valeurs avec le document de découverte.
2
Ajouter les paramètres à la ConfigMap
Ajoutez à
overleaf-env (30-config.yaml, ou 60-config.yaml pour plusieurs réplicas) :30-config.yaml (additions)
EXTERNAL_AUTH accepte une liste séparée par des espaces, par exemple ldap oidc. Consultez Variables d’environnement pour tous les paramètres OVERLEAF_OIDC_* ; ils vont tous dans la ConfigMap, à l’exception du secret client.3
Placer le secret client dans le Secret
4
Faire confiance à une CA privée (facultatif)
Si le certificat de l’OP provient de votre propre CA, ajoutez la CA au Secret
overleaf-certs monté sur /var/lib/overleaf/certs (voir Certificats et autres fichiers) et indiquez-la à Node.js :5
Appliquer et redémarrer
405 pour un GET) signifie que le point de terminaison est joignable ; 000 signifie qu’il ne l’est pas.Plusieurs réplicas
Rien de plus. La valeurstate d’une connexion et le jeton d’identité utilisé pour la déconnexion sont conservés dans la session, stockée dans Redis ; le callback fonctionne donc quel que soit le réplica qui le reçoit.
Testé sur Kubernetes
Avec goauthentik comme OP, sur Kubernetes 1.37 avec trois réplicas derrière HAProxy, nos tests de bout en bout pour OIDC réussissent (35 cas) : la connexion, et la déconnexion via l’OP ; l’attribution du rôle d’administrateur par groupe, par e-mail et par valeur unique, et sans correspondance ; la mise à jour du nom et du statut d’administrateur à chaque connexion ; la liaison et la dissociation de comptes ; la réinitialisation et la modification du mot de passe des comptes OIDC ; les comptes suspendus ;OVERLEAF_OIDC_ALLOWED_EMAIL_DOMAINS ; OVERLEAF_DISABLE_LOCAL_LOGIN ; et OIDC combiné à l’accès public.
Questions-réponses
Où voir pourquoi une connexion a échoué ?
Où voir pourquoi une connexion a échoué ?
Réponse : Dans le journal web du pod qui a traité la requête, et non dans Avec plusieurs réplicas, vérifiez chaque
kubectl logs :overleaf-N.
