惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 叶小钗
雷峰网
雷峰网
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Martin Fowler
Martin Fowler
MyScale Blog
MyScale Blog
博客园 - 聂微东
有赞技术团队
有赞技术团队
The Cloudflare Blog
T
Tailwind CSS Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
月光博客
月光博客
T
The Blog of Author Tim Ferriss
D
Docker
L
LangChain Blog
Vercel News
Vercel News
C
Check Point Blog
博客园 - Franky
博客园 - 三生石上(FineUI控件)
Recent Announcements
Recent Announcements
H
Hackread – Cybersecurity News, Data Breaches, AI and More
量子位
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
V
V2EX
人人都是产品经理
人人都是产品经理

半方池水半方田

小球称重问题及其引申的思考 蓝色的结构色 病毒是不是生物? 把博客发布交给 GitHub Actions 省外居民身份证的补换领(苏州) hexo-filter-titlebased-link:构建你的数字花园 Vercel 应用实践学习 通过与 Keycloak 配合实现博客文章的受限访问功能 非公开的文章 Soft Mode 非公开的文章 Strict Mode 试试用代码块在 Hexo 中插入实况照片 动态图片测试 Hexo-Butterfly 主题 Preloader 加载页定制 Keycloak 的部署以及 Hexo-Butterfly 网页应用的接入 随机访问文章的实现(Sitemap+本地缓存优化) Authentik 的部署记录 记一次行李托运理赔流程(南航) Docker 镜像的制作、拉取与运行 Hexo-Butterfly 主题中对 Algolia 搜索框 Power By 的定制 Hexo 动态加载配置(钩子函数) 设计原则 VSCode 中的配置 Spring AI 中使用 PGVector 实现向量存储 提示词工程速查手册 2025 WePlay 上海两日游 和随机数生成相关的题目 一起撸串(字符串) 树状数组上手了就十分简单 缓存置换算法的实现与 Java 中相关的数据结构 关于海量数据的若干问题
Waline 自建 Auth 认证
wuanqin · 2026-03-20 · via 半方池水半方田

|总字数:975|阅读时长:3分钟|浏览量:|

|出链:0|入链:1

现对 Waline 第三方登录下手,逐步开始向网站统一认证服务迈步。

和 Askimet 反垃圾服务一样,为了方便 Waline 用户的配置和使用,Waline 官方在设计初期就提供好了一些第三方应用登录服务。对于第三方服务的接入有自定义需求的,可以仿照官方的做法尝试建造一个自己的 Auth 认证服务。

部署官方 walinejs/Auth 项目

Vercel 中部署 Waline 官方 Auth 项目:walinejs/auth: Social account auth service, support github, twitter, facebook, google。实际上就是一个纯提供 API 调用的小项目。

本文假设这个 Vercel 应用已经设置好了自定义域名,比如 waline-auth.域名.com

在自己的 Waline 评论项目中,注意不是刚刚部署的 Auth 项目,新增环境变量的配置:

key value
OAUTH_URL https://waline-auth.域名.com

第三方登录的接入

GitHub OAuth

接下来介绍接入 Github OAuth。在自己的 GitHub 中 申请一个应用,以支持第三方用户登录。部分参数填写示例:

key value
Homepage URL https://waline-auth.域名.com
Authorization callback URL https://waline-auth.域名.com/github?redirect=&state=

image.png

GitHub 回调地址中,空格要变为 %20 否则会产生错误。

申请完成后,复制 GitHub 为这个应用生成的 Client ID 和 Client secrets,并将其填写到 walinejs/auth 项目的环境变量中(记得 Redeploy)。更多第三方接入详看 walinejs/auth 参数的填写详看 Markdown 文档。

环境变量 GitHub 提供的密钥
GITHUB_ID <Client ID>
GITHUB_SECRET <Client secrets>

image.png

记得 Redeploy。这样就完成了。

image.png

QQ 互联

开发者审核

image.png

我填的时候似乎没有那么麻烦,点点点就通过了。

网站应用审核

开发者审核通过后,创建网站应用:

image.png

按提示完善信息即可(填写规范详见 创建应用 — QQ互联WIKI)。

回调 URL 填:https://waline-auth.域名.com/qq?redirect=&state=

image.png

我踩过的坑:

  • 填对网站的 ICP 备案号,填写时要精确到杠号 - 带数字。
  • 网站页面要有 QQ 登录按钮,否则也会被驳回!

审核规范详见:应用审核规范 — QQ互联WIKI

注意记得在网站页面增加 QQ 登录的按钮,比如我在我的博客 blog.uuanqin.top 添加了「QQ 登录」按钮,按钮上加上跳转链接:

1
https://graph.qq.com/oauth2.0/authorize?response_type=code&client_id=appid&redirect_uri=Callback&state=state

我感觉链接参数中 client_id 随便填都行,或者就填自己的。

image.png

至于在主页添加 QQ 登录按钮的做法,对于 Hexo Butterfly 主题,详见:站内文章打开潘多拉宝盒三步走:参考-学习-魔改

修改一下基本信息,然后重新提交即可触发重新审核。每次审核大概第二天即可收到结果。

审核通过

审核通过后开启 unionid 获取权限:

image.png

关注创建好的应用两个参数:

image.png

更新 walinejs/auth 的环境变量:

环境变量 QQ 互联平台
QQ_ID <APP ID>
QQ_SECRET <APP Key>

Redeploy 后即可查看效果:

image.png

关于 QQ 的 Union ID

据官方文档显示,同一 QQ 互联平台下的不同应用,unionID 是相同的。换句话说,同一用户,对同一个 QQ 互联平台下的不同应用,unionID 是相同的 [1]

实际测试表明,向不同开发者的应用申请 unionID 得到的值互不相同。

本文参考


  1. UnionID介绍 — QQ互联WIKI ↩︎

版权声明 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 半方池水半方田

封面生成即梦 AI - 图片 5.0 Lite

Prompt将Waline Logo进行圆润可爱化变形,添加钥匙元素,采用明亮丰富的色彩搭配,生成卡通平面插画风格的封面图,画面元素主次分明,不要有任何文字

赞助

  • 微信

    微信

  • 支付宝

    支付宝


avatar

wuanqin

只能懂一点点

最新文章

蓝色的结构色