连接 GitHub 登录

要让顾客用 GitHub 账号注册,需要先在 GitHub 那一侧登记你的服务,并取得两个值。它们是 Client ID 和 Client secret。

本页介绍取得这两个值的步骤。把取得的值填入 WEEGLOO 的做法,在把取得的值填入 WEEGLOO中介绍。

需要先复制的地址

顾客在 GitHub 完成登录后,GitHub 会把结果送回一个固定的地址。这个地址要登记到 GitHub,所以请先复制下来。在第 1 步中粘贴。

在下面选择你的 Space,就会得到填好标识符的地址。

Space
https://auth.weegloo.com/v1/spaces/{spaceId}/login/oauth2/code/github

如果想自己填,就在 {spaceId} 的位置填你的 Space 的标识符。在内容工作室中打开那个 Space,看浏览器地址栏,/spaces/ 后面的值就是标识符。

这个地址不是你网站的地址,而是 WEEGLOO 接收登录结果的位置。所以即使你还没有做好自己的网站,它现在也已经确定。如果你在内容工作室中打开了 GitHubStep 1 中会显示同样的地址,也可以从那里复制。

从 GitHub 取得两个值

登录 GitHub 后,请依次进行下面两个步骤。这里所做的事不产生费用。

1

登记 OAuth App

界面上出现的 OAuth,是让人能用 GitHub 账号登录的这套做法的名称。两个值都放在这里登记的这一个应用里。

  1. 打开开发者设置界面(https://github.com/settings/developers)。

  2. 在左侧菜单中点击 OAuth Apps

  3. 点击 New OAuth app

    OAuth Apps 界面。左侧菜单中有 GitHub Apps、OAuth Apps、Personal access tokens,列表是空的,可以看到 New OAuth app 按钮

  4. Application name 中输入要展示给顾客的名称(例如 暖心衣橱)。

  5. Homepage URL 中输入你网站的地址(例如 https://nuanxin-yichu.com)。

  6. Redirect URI 框中,粘贴你在需要先复制的地址中复制的地址。

  7. 点击 Register application

    Register a new OAuth app 表单。Application name 中是"暖心衣橱",Homepage URL 中是网站地址,Redirect URI 中是 WEEGLOO 的地址

如果还没有做好网站,就先在 Homepage URL 中写上以后要用的地址。之后可以修改。Application description 是可选项,写了的话会原样展示给顾客,所以请写成给顾客读的句子。

2

复制 Client ID 和 Client secret

点击 Register application 后,会打开刚登记的这个应用的设置界面。两个值中的 Client ID 已经显示在这里,secret 则要现在点击按钮生成。

  1. Client ID 中写着的值复制下来。

  2. 点击 Client secrets 标题右侧的 Generate a new client secret

    刚登记完的应用设置界面。可以看到 Client ID 的值,Client secrets 标题右侧有 Generate a new client secret 按钮

  3. 点击生成的值右侧的复制图标,把 secret 复制下来。

    刚生成 secret 后的界面。可以看到蓝色提示、Client secret 的值和复制图标

离开这个界面后就再也看不到 secret

Client ID 会一直留在这个界面上,随时都能再看到,secret 却不是这样。如果弄丢了,就用 Generate a new client secret 重新生成,再把新取得的值填回 WEEGLOO。secret 正如其名,是要保密的值。不要告诉别人,也不要写在公开的地方。

邮箱要公开才能登录

GitHub 登录附带一个条件。用来登录的 GitHub 账号必须公开了邮箱。

WEEGLOO 在顾客用 GitHub 登录时会一并取得该账号的公开邮箱,存入会员。在同一个 Space 中,一个邮箱只能注册一次。没有指定公开邮箱的账号不会送来这个值,注册就会停在那里。

停下来的时候,顾客会看到 WEEGLOO 弹出的提示界面。上面用顾客的语言写着没能取到邮箱,以及可以怎么做,旁边还有一个回到你网站的按钮。

提示没能取到邮箱的 WEEGLOO 界面。有原因说明和返回首页按钮

这时登录结果不会到达你的网站。所以你网站的代码既察觉不到这种情况,也无法代为处理。

解决的人是顾客。顾客在 GitHub 账号设置(https://github.com/settings/profile)中打开 Public profile,就能看到 Public email 这一项。在这里选好要显示的邮箱,从下一次登录起就能通过。还没有选的账号上只写着 Select a verified email to display

GitHub 个人资料设置界面。左侧菜单中选中了 Public profile,Public email 下方的下拉列表中显示 Select a verified email to display

你在自己网站上能做的,是在用 GitHub 登录的地方事先写明这个条件,让顾客在被挡住之前就知道。

把取得的值填入 WEEGLOO

现在你手里有两个值了。从这里开始,会根据你此前是怎么操作的而分成两条路。

如果你一直在内容工作室中直接配置,请按下面的步骤进行。

  1. 回到服务会员登录的打开社交登录。
  2. 打开 GitHub
  3. Step 2Client ID 框中填入 Client ID。
  4. Client Secret 框中填入 Client secret。
  5. 点击 保存

如果你把接入工作交给了 AI 智能体,并被告知去取这两个值,就把取得的两个值原样粘贴到对话框中,继续之前的工作。剩下的配置由智能体接着处理。

接下来要做的事

  • 服务会员登录:把取得的值填入内容工作室,完成会员登录的其余配置。
  • 会员角色与权限:创建规定已注册会员能看什么、能用什么的 ServiceUserRole
  • Auth API:介绍把登录接入自己网站代码时所需的请求格式等技术规范。