• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
黄洪波写点东西的地方
博客园    首页    新随笔    联系   管理    订阅  订阅
OpenWebUI单点登录之深坑

OpenWebUI单点登录:官方文档:https://docs.openwebui.com/features/sso

此单点登录方案使用的是Trusted Header方案,意思就是在登录的时候,header里面要带上X-User-Email,X-User-Name,自动单点登录。

Docker启动命令

docker run -d -p 3001:8080  -e WEBUI_AUTH_TRUSTED_EMAIL_HEADER=X-User-Email -e WEBUI_AUTH_TRUSTED_NAME_HEADER=X-User-Name  -v open-webui1:/app/backend/data --name open-webui-1 ghcr.io/open-webui/open-webui:main

nginx配置内容

 

server {
    listen 80;
    server_name owl.tyl.com;

    # 配置访问日志
    access_log C:/nginx-1.26.2/logs/owl.tyl.com.access.log;

    location / {
        set $email "";
        set $name "";

        if ($arg_email) {
            set $email $arg_email;
        }

        if ($arg_name) {
            set $name $arg_name;
        }
    
    
        proxy_pass http://127.0.0.1:3001;  # 后端服务地址
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        
        # 添加自定义请求头
        proxy_set_header X-User-Email "dufan@z.com";
        proxy_set_header X-User-Name "dufan";
        # 添加自定义请求头
        #proxy_set_header X-User-Email $email;
        #proxy_set_header X-User-Name $name;
    }
    
}

是否必须使用HOST我还需要再测试测试,毕竟后面有个警告内容  HOST 127.0.0.1

 

坑1:

文档第一段这个结构让我误以为只有OAuth2需要配置这个参数,没想到是个全局参数。

 坑2:自动生成账户

ENABLE_OAUTH_SIGNUP - if true, allows accounts to be created when logging in with OAuth.

让我误以为,只要配置了这个参数之后,X-User-Name对应的账号会自动创建,没想到还是要手动创建,见坑3.

 坑3:第一个账号默认为管理员,其余账号需要手动创建

 使用quick start方式启动成功之后,第一次访问127.0.0.1:3000会要求创建一个管理员账户,使用Trusted Header方式会将该第一个账户设置为管理员(待与坑4一起验证)

坑4:不能一上来就用Trusted Header模式启动服务,必须先使用普通的quick start模式启动服务之后,创建好管理员账户,否则后续缺少管理员。

但是管理员账户又不能使用密码登录,怎么办呢,管理员账号也只能通过Trusted Header的模式代理登录。登录管理员之后再创建其他用户或者其他管理员账户。(待和坑3一起验证)

坑5:配置了Trused Header模式之后,ldap登录方式和本地登录模式都会失效。

 

方案2

配置LDAP统一密码登录,配置之后既可以使用ldap认证登录,也可以使用本地登录。

 

posted on 2024-12-28 00:32  红无酒伤  阅读(6771)  评论(9)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3