nezha哪吒面板 v1 接入 QQ, Github, Google, Q58论坛, 通过CZLConnect Oauth2支持

新建应用

  1. 打开 https://connect.czl.net

  2. 通过本论坛账号或者github, 登录一个账号

  3. 创建一个应用

    我因为前后端分离部署的, 所以前端和后端地址不同
    回调地址是: https://回调网址/api/v1/oauth2/callback, 这是固定的
    我选择了"不公开", 这样只有我能登录
    应用类型需要是Oauth2

  4. 获取到参数, 这几个都是有用的

在nezha配置文件添加接入信息

  1. 常规安装, 文件地址在/opt/nezha/dashboard/data
  2. 编辑文件, 添加下面代码
    oauth2:
      CZLConnect: # 接入名称, 也可以自定义
        clientid: "client_49435063" # 上面获取到的ClientID
        clientsecret: "a48109c1a00b5758b6a354b3b2f4f52ef9b2e7d3325b24ad89de3ad7cd23ab06"  # 上面获取到的Secret
        endpoint:
          authurl: "https://connect.czl.net/oauth2/authorize" # 固定
          tokenurl: "https://connect.czl.net/api/oauth2/token" # 固定
        scopes:
          - "read" # 固定
        userinfourl: "https://connect.czl.net/api/oauth2/userinfo" #固定
        useridpath: "username" # 固定
    
  3. 保存文件后, 重启一下nezha docker容器

在nezha后台绑定oauth2登录, 然后关闭密码登录

  1. https://nezha地址/dashboard/profile, 绑定oauth2, 我这是绑定过了, 所以显示Unbind, 如果没绑定应该是Bind
  2. 点击更新个人资料, 禁止密码登录

好了, 现在就可以使用OAuth2登录了, 并且禁止了密码登录, 直接无法破解密码登录了.