1 创建google项目

打开 https://console.cloud.google.com/apis/dashboard

点击新建项目创建项目

项目名称随便取个,叫nezha完事了

点击创建,完成创建

image-20250126165956579
image-20250126170032042

2 配置OAuth

点击左侧的API和服务" → "OAuth权限请求页面"

打开链接 https://console.cloud.google.com/apis/credentials/ 直达

用户类型选择外部,点击创建

image-20250126170651299

应用名称填写随便填写一个

用户支持电子邮件,选择你自己的gmail邮箱

应用徽标,选择一个图片传上去,

应用网域,填写你探针的地址,列如https://nezha.example.com

已获授权的网域填写你的哪吒探针的顶级域名 example.com

开发者信息填写你的gmail邮箱

保存并继续

image-20250126171129732
image-20250126171259628
image-20250126171327087

范围的话,点添加或移除范围,选择前两个就够了,保存并继续

image-20250126172059522
image-20250126172103409

测试用户

点击添加add users,把自己的gmail邮箱输入就ok了,保存并继续

显示摘要,就完成了

3 配置OAuth凭据

左侧的"API和服务-凭据

点击链接直达 https://console.cloud.google.com/apis/credentials

创建凭据-oatuth客户端id

image-20250126172543453

选择应用类型(Web应用)

image-20250126172655544

设置已获授权的 JavaScript 来源 填写你的探针域名 https://nezha.example.com

已获授权的重定向 URI,填写哪吒的callback地址 https://nezha.example.com/api/v1/oauth2/callback

点击创建,获得

clientid和clientsecret

image-20250126173651162

4 哪吒面板配置

打开/opt/nezha/dashboard/data/config.yaml下加入如下

​ clientid和clientsecret替换上面生成的,

oauth2:
  Google:
    clientid: "your id"
    clientsecret: "your secret"
    endpoint:
      authurl: "https://accounts.google.com/o/oauth2/v2/auth"
      tokenurl: "https://oauth2.googleapis.com/token"
    scopes:
       - "https://www.googleapis.com/auth/userinfo.email"
    userinfourl: "https://openidconnect.googleapis.com/v1/userinfo"
    useridpath: "sub"

重启docker

重启后登录 登录哪吒探针的后台,进入“个人信息”页面绑定即可。

image-20250126175540357

为了安全,可以在个人信息页面,更新个人资料那边,禁用密码登录

image-20250126175717060

感谢以下几位大佬

谷歌的设置参考了https://coreychiu.com/blogs/google-oauth-setup

哪吒yaml文件设置参考了https://www.nodeseek.com/post-234604-1

https://www.74110.net/tutorial/linux/nezha-v1-github-oauth2/

哪吒wiki https://nezha.wiki/guide/q14.html