哪吒面板中使用自定义OIDC实现OAuth 2.0登录

一,安装哪吒面板

使用ssh连接你的服务器,在面板服务器中,运行安装脚本:

国外服务器

curl -L https://raw.githubusercontent.com/nezhahq/scripts/main/install.sh -o nezha.sh && chmod +x nezha.sh && sudo ./nezha.sh

国内服务器

curl -L https://gitee.com/naibahq/scripts/raw/main/install.sh -o nezha.sh && chmod +x nezha.sh && sudo CN=true ./nezha.sh

使用独立安装

图片[1]-哪吒面板中使用自定义OIDC实现OAuth 2.0登录-学霸博客

输入1安装面板端

图片[2]-哪吒面板中使用自定义OIDC实现OAuth 2.0登录-学霸博客

OAuth提供商直接回车,Client ID和Client Secret随便填一个,登录名就填你的邮箱,站点标题访问端口和RPC端口按你的个人需要填。

图片[3]-哪吒面板中使用自定义OIDC实现OAuth 2.0登录-学霸博客

二,在Casdoor中添加OAuth 2.0客户端

使用casdoor管理员账户登录后台,身份认证>应用

图片[4]-哪吒面板中使用自定义OIDC实现OAuth 2.0登录-学霸博客

添加应用,并将信息保存到记事本

图片[5]-哪吒面板中使用自定义OIDC实现OAuth 2.0登录-学霸博客

在你的casdoor网站后面添加路径/.well-known/openid-configuration查看OIDC信息。

示例https://sso.xxx.com/.well-known/openid-configuration

图片[6]-哪吒面板中使用自定义OIDC实现OAuth 2.0登录-学霸博客

三,修改哪吒面板配置以支持自定义OIDC

切换到哪吒面板的配置文件目录

cd /opt/nezha/dashboard/data

使用nano或者vim编辑配置文件config.yaml

nano config.yaml

删除原本的oauth2配置部分,修改为以下配置

oauth2:
  type: oidc  # (必填)指定认证类型为 OIDC
  oidcDisplayName: OIDC  # (可选,默认值为 OIDC)登录页面显示的名称
  admin: ""  # (至少填写 admin 或 adminGroups 中的一个;默认为空)管理员用户名,用逗号分隔。列在此处的用户被视为管理员
  clientid: # (必填)OIDC 客户端 ID
  clientsecret: # (必填)OIDC 客户端密钥
  oidcIssuer: https://auth.example.com/realms/master  # (必填)OIDC 提供商的 issuer URL,可以从您的OIDC 提供商处获取
  oidcScopes: openid,profile,email  # (可选,默认值为 openid,profile,email )OIDC 请求的 scope,用逗号分隔
  oidcLoginClaim: email  # (可选,默认值为 sub)OIDC 返回的用户名字段,可以是 preferred_username、sub 或email
  oidcAutoCreate: true  # (可选,默认值为 false)如果用户不存在,是否自动创建用户
  oidcAutoLogin: false  # (可选,默认值为 false)当地址是 /login 时,是否自动跳转到OIDC登录页面

oidcIssuer需要你自己查询,我这里使用casdoor作为演示

图片[7]-哪吒面板中使用自定义OIDC实现OAuth 2.0登录-学霸博客

注意:一定要把oidcAutoCreate设置为true,这是在哪吒自己的数据库创建账户!!!

注意:一定要把oidcAutoCreate设置为true,这是在哪吒自己的数据库创建账户!!!

注意:一定要把oidcAutoCreate设置为true,这是在哪吒自己的数据库创建账户!!!

使用systemctl重启哪吒面板

systemctl restart nezha-dashboard.service

四,效果展示

图片[8]-哪吒面板中使用自定义OIDC实现OAuth 2.0登录-学霸博客
© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发

    暂无评论内容