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

推荐订阅源

WordPress大学
WordPress大学
小众软件
小众软件
MongoDB | Blog
MongoDB | Blog
Hugging Face - Blog
Hugging Face - Blog
Jina AI
Jina AI
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Stack Overflow Blog
Stack Overflow Blog
L
LangChain Blog
大猫的无限游戏
大猫的无限游戏
量子位
A
About on SuperTechFans
G
Google Developers Blog
雷峰网
雷峰网
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
IT之家
IT之家
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园_首页
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Vercel News
Vercel News
V
Visual Studio Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 聂微东
U
Unit 42
Apple Machine Learning Research
Apple Machine Learning Research

GoodBoyboy 's Blog|惬意小屋-点滴记忆

嘉立创牛逼,免费的总裁卡到了 时间过得蛮快的 撒谎撒多了,别把自己都骗了 Fedora LUKS2设置TPM2+PIN与FIDO2解锁 解决天选三AX210在fedora 44/Ubuntu 26.04上睡眠后恢复失败的问题 新的博客评论系统正式启动 博客评论数据已全部完成迁移 评论系统即将更换 在WSL中使用Canokey智能卡进行Git Commit签名 打算做个博客评论系统 开了一个游泳馆的月卡 今天游泳累炸了 回家吵的第一场架 新设计了一个Astro主题 Cap,一个基于PoW的自托管验证码系统 公益服务迁移通知 一种基于argon2id算法与shamir算法的内存PoW(工作量证明)解密游戏 记忆里的屋子(一) Ubuntu 26.04 Btrfs+LUKS2安装 主域名服务不稳定通知 腾讯元宝客户端实习二面凉经 腾讯元宝客户端实习一面面经 对越来越多AI博文的看法 GoodBoyboy Blog、Talk联动成功 只有失去了才会懂得珍惜,但幸好我还没有失去 滴滴Android客户端一面凉经 GoodBoyboy 's Talk上线! Easy Drop——一个基于Gin开发的高性能、轻量级说说平台 Perfect Pic —— 一个基于 Gin 开发的高性能、轻量级图床 尘封了八年的祝福
博客评论系统的一些设计
GoodBoyboy · 2026-08-08 · via GoodBoyboy 's Blog|惬意小屋-点滴记忆

前言

开发接近尾声了,这里展示一下部分设计细节

凭据种类与类型

总共设计有三种凭据,均为JWT凭据

第一方登录凭据

该凭据为评论系统本站使用的登录凭据,用于操作评论系统

登录模式评论凭据

在登录模式下,第三方网站中的Widget使用

匿名模式评论凭据

在匿名模式下,第三方网站中的Widget使用

凭据存储

三种凭据均存储于Cookie中,请求时由浏览器自动提交,并设置__Host-头,禁止子域写入

其中评论凭据采用CHIPS,以支持第三方Cookie嵌入。

评论提交

系统总共有两种模式:匿名模式和登录模式

这个是匿名模式评论提交时序图

sequenceDiagram
    autonumber
    participant U as 用户
    participant W as Widget
    participant CA as 匿名凭据端点
    participant CC as 评论端点

    U->>W: 填写昵称、邮箱、网址
    W->>CA: 请求匿名凭据
    CA-->>W: 返回评论凭据
    W->>CC: 携带评论凭据提交评论

这个是登录模式评论提交时序图

sequenceDiagram
    autonumber
    participant U as 用户
    participant W as Widget
    participant A as 授权页面
    participant T as 凭据交换端点
    participant C as 评论端点

    U->>W: 填写昵称、邮箱、网址
    W->>A: 附带邮箱参数跳转授权页面
    A-->>W: 授权后返回授权码
    W->>T: 使用授权码请求评论凭据
    T-->>W: 返回评论凭据
    W->>C: 携带评论凭据提交评论

登录方式

总共设计有四种登录方式

邮箱验证码

通过邮箱验证码进行无密码登录,未注册情况下自动完成注册。

一般来说推荐开启登录模式时采用该方式,兼顾安全与便利

Passkey

通过通行密钥进行无用户名,无密码登录

但是需要用户提前去评论系统网站注册Passkey才可用,便利程度与邮箱验证码相比较低,但是安全性最高。

密码

通过邮箱,密码进行登录,便利程度较低,安全性取决于密码复杂度

第三方登录

支持GitHub,Google,OIDC等第三方登录。

便利程度一般,安全性取决于第三方身份提供商。

另外如果邮箱已经被注册,则会禁止从未绑定的第三方登录进行登录。

需要进入评论系统手动绑定对应的第三方账户才可通过第三方登录进行登录。

Captcha支持

支持市面上常见的CloudFlare Turnstile、Google ReCaptcha、hcaptcha、Cap

Geetest后续考虑支持

后记

其实系统本身不复杂(迫真),有三到四天的时间全在调整架构,果然让AI从零开始写就喜欢乱搞架构

目前大部分架构已经确立完毕,现在正边打磨细节,边慢慢处理AI拉的屎。