authentication) dentro de cada pod de Ayakaleaf Pro. No tiene tareas en segundo plano ni un pod independiente. La parte del proveedor (cliente, URI de redirección, claim de administrador) es la misma que en el Toolkit, así que configura primero tu proveedor de OpenID (OP) con Autenticación OIDC y, después, introduce los valores en Kubernetes como se explica a continuación.
Dónde se ejecuta cada cosa
Configuración
1
Registra Overleaf en el OP
Permite estas direcciones en tu OP, construidas a partir de
OVERLEAF_SITE_URL:Busca las cinco URL en el documento de descubrimiento del OP como se describe en Encontrar los valores con el documento de descubrimiento.
2
Añade los ajustes al ConfigMap
Añade a
overleaf-env (30-config.yaml, o 60-config.yaml para varias réplicas):30-config.yaml (additions)
EXTERNAL_AUTH admite una lista separada por espacios, por ejemplo ldap oidc. Consulta Variables de entorno para ver todos los ajustes OVERLEAF_OIDC_*; todos van en el ConfigMap excepto el secreto del cliente.3
Guarda el secreto del cliente en el Secret
4
Confía en una CA privada (opcional)
Si el certificado del OP lo emite tu propia CA, añade la CA al Secret
overleaf-certs montado en /var/lib/overleaf/certs (consulta Certificados y otros archivos) y haz que Node.js apunte a ella:5
Aplica y reinicia
405 para un GET) significa que el endpoint es accesible; 000 significa que no lo es.Varias réplicas
No hace falta nada más. El valorstate de un inicio de sesión y el token de ID usado para cerrar sesión se guardan en la sesión, que reside en Redis, por lo que el callback funciona en cualquier réplica que lo reciba.
Probado en Kubernetes
Con goauthentik como OP, en Kubernetes 1.37 con tres réplicas detrás de HAProxy, nuestras pruebas de extremo a extremo para OIDC se superan (35 casos): el inicio de sesión y el cierre de sesión a través del OP; la asignación de administrador por grupo, por correo electrónico y por un valor único, y sin asignación; el nombre y el indicador de administrador actualizados en cada inicio de sesión; la vinculación y desvinculación de cuentas; el restablecimiento y el cambio de contraseña de cuentas OIDC; las cuentas suspendidas;OVERLEAF_OIDC_ALLOWED_EMAIL_DOMAINS; OVERLEAF_DISABLE_LOCAL_LOGIN; y OIDC junto con el acceso público.
Preguntas y respuestas
¿Dónde veo por qué ha fallado un inicio de sesión?
¿Dónde veo por qué ha fallado un inicio de sesión?
Respuesta: En el log de web del pod que atendió la petición, no en Con varias réplicas, revisa cada
kubectl logs:overleaf-N.
