1.1 什么是 Authing?
1.2 为什么选择 Authing?
国内优先: 服务器在国内,访问速度快,稳定性高,符合项目要求。
功能全面: 免费版已提供足够强大的功能,包括社会化登录(GitHub)、自定义UI、安全策略等。
解耦: 将用户身份管理从我们的 Waline 后端服务中剥离出来,实现了专业化分工。Waline 只负责评论,Authing 只负责身份,架构更清晰。
强大的兼容性: 与 Waline 等现代应用有良好的集成支持。
2.1 创建用户池 (User Pool)
操作: 登录 Authing 控制台 -> 创建用户池。
关键选择: 选择 B2C (Business to Customer) 类型的用户池。B2E 适用于企业内部员工,不符合我们面向广大读者的场景。
命名: 用户池命名为 arknights-blog-users。这个池子就是存放所有博客读者的独立“档案室”。
2.2 创建自建应用
arknights-blog-users 用户池下 -> 应用 -> 自建应用 -> 创建。App ID 来和 Authing 对话的。App ID: 一长串唯一字符串。应用域名 (appDomain): 形如 your-app-domain.authing.cn。
2.3 配置登录回调 URL (最关键的安全配置)
https://linuxnc.xyzhttps://www.linuxnc.xyzhttp://10.0.0.55:4000http://localhost:4000
2.4 配置社会化登录 (以 GitHub 为例)
https://core.authing.cn/connections/social/.../callback。Client ID 和 Client Secret。Client ID 和 Client Secret 填回到 Authing 的 GitHub 身份源配置页面。user:email 和 read:user 权限,避免过度索权。这一步是在博客主题的配置文件 _config.butterfly.yml 中,告诉 Waline 前端如何与我们配置好的 Authing 服务进行交互。
3.1 核心配置 (_config.butterfly.yml -> waline.option)
yamloption:
# 1. 允许游客评论,同时提供登录选项
login: false
requiredMeta: ['nick', 'mail']
avatar: 'qq'
# 2. [关键] 定义 Authing 为第三方登录提供商
provider:
- name: Authing
# 填入从 Authing 应用配置中获取的信息
appId: '你的Authing应用的AppID'
appDomain: '你的Authing应用域名'
# (可选) 定义你希望请求的用户信息
scope: 'openid profile email phone'
3.2 用户体验流程
provider 配置,将页面重定向到 Authing 的托管登录页。本文作者:张龙龙
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!