authentication 模块)处理。它没有后台任务,也没有单独的 Pod。提供商端(客户端、重定向 URI、管理员声明)与 Toolkit 中相同,因此请先按照 OIDC 身份验证设置你的 OpenID 提供商(OP),然后按下文将相应的值放入 Kubernetes。
各组件的运行位置
配置
1
在 OP 中注册 Overleaf
2
3
将客户端密钥放入 Secret
4
信任私有 CA(可选)
如果 OP 的证书来自你自己的 CA,请将该 CA 添加到挂载在
/var/lib/overleaf/certs 的 Secret overleaf-certs 中(参见证书和其他文件),并让 Node.js 指向它:5
应用并重启
405)都表示该端点可以访问;000 表示无法访问。多个副本
无需额外操作。登录的state 值以及用于退出登录的 ID 令牌都保存在位于 Redis 中的会话里,因此无论哪个副本收到回调,回调都能正常工作。
在 Kubernetes 上的测试
以 goauthentik 作为 OP,在 Kubernetes 1.37 上使用位于 HAProxy 之后的三个副本,我们针对 OIDC 的端到端测试全部通过(35 个用例):登录以及通过 OP 退出登录;按组、按邮箱和按单个值映射管理员,以及不进行映射;每次登录时更新姓名和管理员标志;关联和取消关联账户;OIDC 账户的密码重置和密码更改;已停用的账户;OVERLEAF_OIDC_ALLOWED_EMAIL_DOMAINS;OVERLEAF_DISABLE_LOCAL_LOGIN;以及 OIDC 与公开访问同时使用。
Q&A
在哪里可以看到登录失败的原因?
在哪里可以看到登录失败的原因?
回答:在处理该请求的 Pod 的 web 日志中,而不是在 如果有多个副本,请检查每个
kubectl logs 中:overleaf-N。
