快速结论:当 RAGFlow 配置了 OIDC 认证且设置 REGISTER_ENABLED=0 时,新用户仍能通过 OIDC 自动注册。优先检查 OAuth/OIDC 回调处理程序是否对 REGISTER_ENABLED 进行了判断。
适用环境:RAGFlow v0.25.6(Helm chart 安装,镜像版本 v0.25.6),OIDC 认证已配置。
最快修复方案:修改 api/apps/restful_apis/user_api.py 中 OAuth 回调处理函数(位于 /auth/oauth/<channel>/callback 路由),在调用 user_register() 之前添加 REGISTER_ENABLED 检查。若 REGISTER_ENABLED 为 False,则返回错误响应。
注意事项:此修改需要手动改动源代码并重新构建部署,不属于官方正式补丁。作为临时替代方案,可在身份提供商(IdP)侧限制只有已授权的用户才能访问 RAGFlow 应用。
问题场景
用户在 RAGFlow 中配置 OIDC 认证(按官方文档),并设置环境变量 REGISTER_ENABLED=0,期望禁止新用户自行注册。但在实际运行时,尚未存在于 RAGFlow 数据库的新用户仍能通过 OIDC 成功认证,并自动在系统中创建账户。
报错原文
[Bug]: OIDC login allows new user registration even when REGISTER_ENABLED=0
实际行为:New OIDC users are automatically registered and created in RAGFlow despite REGISTER_ENABLED=0.
原因分析
RAGFlow 的 OAuth/OIDC 回调处理程序(位于 api/apps/restful_apis/user_api.py 中的 /auth/oauth/<channel>/callback 路由)在遇到数据库中不存在的邮箱时,直接调用 user_register() 创建新用户,没有检查 REGISTER_ENABLED 配置。而 REGISTER_ENABLED 此时仅应用于密码注册接口(user_api.py 第 495-500 行附近的注册端点),并未覆盖 OIDC 流程。
环境排查
- 确认 RAGFlow 版本是否为 v0.25.6(Issue 中的 commit ID 和镜像版本)
- 确认是否存在自定义修改过
api/apps/restful_apis/user_api.py文件 - 确认 OIDC 配置是否按文档完成(客户端 ID、Secret、Issuer 等)
- 确认
REGISTER_ENABLED环境变量是否已正确设置为0
解决步骤
- 定位 RAGFlow 源码目录下的
api/apps/restful_apis/user_api.py文件。 - 找到 OAuth 回调处理函数(通常在
/auth/oauth/<channel>/callback路由对应的视图函数内,大约第 220-258 行)。 - 在现有代码中,检查到用户不存在并准备调用
user_register()之前(约第 232-243 行附近),添加如下判断:if not REGISTER_ENABLED: return server_error_response(ValueError("Registration is disabled")) - 确保
REGISTER_ENABLED变量已在模块作用域中正确导入(通常从配置读取)。重新构建 Docker 镜像并部署。 - 临时替代方案:在身份提供商(IdP)的管理控制台中,仅将允许登录的 RAGFlow 用户授权给该 OIDC 应用,从源头限制新用户通过 OIDC 注册。
验证方法
设置 REGISTER_ENABLED=0 后,使用一个从未在 RAGFlow 数据库中注册过的邮箱,通过 OIDC 方式尝试登录。如果修复生效,该用户应被拒绝并返回类似 “Registration is disabled” 的错误信息;已有用户应能正常登录。
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。
![[Question]: Models disappear after upgrading RAGFlow from v0.25.6 to v0.26.0](https://www.chat-gpts.plus/wp-content/uploads/2026/07/15972-570c996c-768x403.jpg)
![[Bug]: vllm instance already exist, while trying to add models with different host ports](https://www.chat-gpts.plus/wp-content/uploads/2026/07/16126-1c98a863-768x403.jpg)
