服务会员登录

假设你运营一个服装店购物网站。有时你希望顾客自己注册,并且只让会员撰写评价或享受按等级划分的优惠。要做到这一点,你需要一套"让顾客自行注册和登录的会员系统"。把这套会员系统接入你网站的 Space 功能就是 ServiceLogin(让顾客直接在你的服务上注册并使用的登录设置)。

打开 ServiceLogin 后,任何人都可以用 Google 之类的社交账号直接注册。每一位注册的顾客都会成为一个 ServiceUser(在你的服务上注册的会员)。登录流程和登录状态的保持都由 WEEGLOO 代为处理,因此你不必自己保管密码,也不必从头搭建社交登录。

本页先了解 ServiceLogin 是什么,以及它与运营人员账号有何不同,然后在服装店 Space 中亲自打开并配置 ServiceLogin

会员与运营人员不同

WEEGLOO 中登录的人分为两类。两者容易混淆,所以先划清界限。

  • 运营人员/团队是登记商品、管理网站的人。他们不像顾客那样通过 ServiceLogin 注册,而是用 WEEGLOO 账号成为这个 Space 的成员(由已在其中的人邀请并授予角色)后进入。运营人员的权限在角色与权限中介绍。
  • ServiceUser 是使用该网站的顾客/会员。也就是在你运营的服装店网站上用社交账号直接注册的人。这与运营人员是完全独立的登录。

一句话概括,运营人员是"经营店铺的人",ServiceUser 是"光顾店铺的顾客"。ServiceLogin 就是为这些顾客搭建进出大门的工作。

协同运转的三个部分

会员系统由三个部分相互配合运转。

  • ServiceLogin:登录设置本身。在这里决定使用哪种社交登录、默认给注册会员什么权限等事项。
  • ServiceUserRole:要给会员的权限组合。它规定会员能看什么、能写什么。
  • ServiceUser:每一位注册的会员。每当有顾客注册,就会生成一个。

本页聚焦于打开大门的 ServiceLogin 设置。规定会员实际能看什么、能用什么(权限)的 ServiceUserRole,会在会员角色与权限中单独介绍。下面设置中选择的 默认 Role 正是在那一页创建的角色。

打开 ServiceLogin

下面在服装店 Space 中打开会员登录。

会员登录设置在一个 Space 中只有一项。它不是新建很多个,而是把这一项打开,需要时再加以修改后使用。

ServiceLogin 起初是关闭的。打开设置界面时,会看到一条"ServiceLogin 已停用"的提示,旁边有一个 启用 按钮。提示中写着:"启用 ServiceLogin 后,即可在你的网站上使用社交登录(Google 等)。OAuth 和会话由 Weegloo 为你处理。"

  1. 在左侧菜单中展开 服务,点击 ServiceLogin
  2. 基本信息 界面,点击 启用 按钮。

ServiceLogin 尚未打开的状态。可以看到"ServiceLogin 已停用"提示和启用按钮

点击 启用 后,配置表单会打开。在这个表单里,必须打开至少一个社交登录并 保存,会员登录才能真正生效。

填写配置表单

配置表单分为基本信息和社交登录设置两部分。先填写基本信息。

项目填写什么
服务名称顾客登录时看到的服务名称。如果是服装店,就填店铺名称。
联系邮箱当登录出现问题时(例如可注册名额已满)向顾客展示的联系方式。
登录后跳转 URL顾客完成登录后返回的、你网站上的地址。
默认 Role自动授予新注册顾客的权限组合。点击旁边的 管理 Role,会跳转到创建权限的界面。
  1. 服务名称 中输入要展示给顾客的名称。如果是服装店,就填店铺名称,例如 暖心衣橱
  2. 联系邮箱 中输入用于接收咨询的地址。例如 help@nuanxin-yichu.com
  3. 登录后跳转 URL 中输入顾客登录后返回的、你网站上的地址。例如 https://nuanxin-yichu.com/auth/callback。这一栏里填入 https://... 这样的网页地址。如果要给手机应用(Android、iOS)接入登录,就无法把应用地址原样填进这里,连接方式会稍有不同。那时所需的技术步骤会在 Auth API 中介绍。
  4. 默认 Role 中选择要给新会员的权限。如果还没有创建任何权限,先在旁边的 管理 Role 中创建后再回来。

默认 Role 中该选什么、该给会员什么权限,会在会员角色与权限中介绍。

如果运营人员想在接受注册前先确认一次,可以打开 新注册用户需要 admin 审批。打开此选项后,新注册的顾客无法立即登录,会一直等到运营人员批准为止。已经注册的会员不受影响。

  1. 若希望注册后任何人都能立即登录,就关闭 新注册用户需要 admin 审批。若想逐一确认注册,就保持打开。

启用后打开的 ServiceLogin 配置表单。可以看到服务名称、联系邮箱、登录后跳转 URL、默认 Role 以及社交登录列表

打开社交登录

顾客可以用哪种账号注册,由 Login Providers 决定。可以分别打开 GoogleGitHubFacebookGitLabLINEKakaoNaver

社交登录是连接两端的工作。在对应提供商那一侧(如果是 Google,就是 Google Cloud Console)登记你的网站,然后把从那里取得的值输入到 WEEGLOO。打开 Google 后,界面会原原本本地引导你完成这两个步骤。

  1. 打开 Google。会出现两步引导。
  2. 复制 Step 1 中显示的 Authorized redirect URI,并把它登记到 Google Cloud Console 的 OAuth 客户端中。这个地址告诉 Google 把登录结果送回哪里。
  3. 把 Google Cloud Console 中签发的值输入到 Step 2Client IDClient Secret 框中。
  4. 若还想使用其他社交登录,就用同样的方式打开 GitHubFacebook 并输入值,然后点击 保存

打开 Google 后出现的凭据引导。可以看到 Step 1 的 Authorized redirect URI 和 Step 2 的 Client ID、Client Secret 输入框

当你打开的社交登录在列表中显示为已启用,并完成 保存 后,顾客就能用那些账号登录了。

各提供商的不同之处:范围与邮箱

无论哪个提供商,连接步骤都和上面一样。登记重定向地址的输入框名称会因提供商而略有不同(Authorized redirect URI、Callback URL、Redirect URI 等)。名称虽然不同,但只要把打开提供商时出现的指引中 Step 1 所显示的地址原样粘贴进去即可。

下表中的范围(scope,登录时向顾客请求的信息范围)是 WEEGLOO 在登录时向提供商请求的值。Google 和 GitHub 不需要在控制台预先指定任何内容,顾客在登录时同意即可。其余提供商有需要在控制台预先开启的设置,请在表中确认。

顾客登录时,WEEGLOO 会从提供商那里一并接收邮箱并存入会员信息。在同一个 Space 中,同一个邮箱只能注册一次。表中列出的准备工作正是为了收到这个邮箱,请不要跳过。取得这两个值的步骤因提供商而异,所以在表格最右侧的连接指南中结合界面一并介绍。

提供商WEEGLOO 请求的范围需要在提供商控制台预先开启的内容连接指南
Googleemailprofile连接
GitHubread:useruser:email连接
Facebookemailpublic_profile需要在应用的 Permissions and features 中添加 email连接
GitLabread_user创建应用时,在范围中勾选 read_user连接
Kakaoprofile_nicknameprofile_imageaccount_email需要在切换为 Biz App 后,为邮箱同意项获得使用批准连接
Naveremailprofilenickname登记应用时,必须在提供的信息中包含邮箱地址连接
LINEprofileemail需要在频道中申请邮箱权限并获得批准连接

查看已注册的会员

顾客注册后,可以在 服务 > ServiceLogin > Users 中查看该会员。在这里查看并管理已注册的会员列表。

如果之前打开了 新注册用户需要 admin 审批,新注册的会员会在此界面等待批准。一旦你激活某位会员,他从那时起就可以登录。

在同一个界面还可以阻止会员登录、只给某位会员不同的权限,或者把会员移出名单。各自的步骤在管理服务会员中说明。

有多个网站时的会员登录

一个人有时会同时运营好几个不同的服务。假设你在运营服装店暖心衣橱的同时,还经营着一个完全不同行业的街角面包房网站。两个网站光顾的顾客不同,经营的内容也不同。在服装店注册的顾客没有理由就是面包房的会员。

会员登录在一个 Space 中只有一项。所以这些彼此不同的网站要各自创建一个 Space,并在各自的 Space 中单独配置会员登录。会员名单也按 Space 分开,服装店的会员和面包房的会员作为彼此不同的会员来管理。

一个 Space 的会员登录,用于以那个 Space 运营的网站。它不是把一个会员登录接到多个网站上、一次性通过所有网站的方式。如果你希望会员用一次登录就能一起使用某些界面,就把这些界面集中到同一个网站里。

接下来要做的事

  • 会员角色与权限:创建规定已注册会员能看什么、能用什么的 ServiceUserRole,并把它连接到上面选择的 默认 Role
  • API 参考:要把已注册会员的登录接入你自己网站的代码,需要官方客户端 SDK 和请求格式等技术规范。在你自己的程序中直接处理会员所看、所用内容时的规范,也在这里介绍。