[插件] 第三方登录插件发布

👑Lv.11 元老 🌏 正式会员
2026-09-22 13:19:08

支持 GitHub / QQ / 微信 / 短信四种登录方式,后台按 Tab 独立配置,每种可单独开关、互不影响。第三方账号校验通过但未绑定站内账号时,引导用户绑定已有账号(不自动注册),并提供绑定管理与逐条解绑。

采用 OAuth 2.0 标准流程(防 CSRF / 防重放)+ 阿里云短信(防轰炸 / 单次有效),第三方校验通过后引导绑定已有账号,不做自动注册;全程零内联、三语同步、独立数据库。

第三方登录插件
第三方登录插件插件及升级包

FlintHub 第三方登录插件,支持 GitHub / QQ / 微信 / 短信四种登录方式,每个 provider 独立配置、独立开关。 采用 OAuth 2.0 标准流程(防 CSRF / 防重放)+ 阿里云短信(防轰炸 / 单次有效),第三方校验通过后引导绑定已有账号,不做自动注册;全程零内联、三语同步、独立数据库。

20 pts5 left

Last edited by flinthub at 2026-09-22 13:28
🧧 Thread Red Packet
+30 points
0 / 5 left
Expired
轻量级、高性能、零 MySQL 依赖的PHP社区系统。
| Views 0 | Replies 21

All Replies (21)

🌲Lv.3 初级 ⭐️ 新访客
2026-09-22 13:31:30
不自动注册这点做对了,绑定引导的时序也稳。提醒下:微信开放平台个人主体拿不到登录权限,得企业资质;QQ 互联审核现在也磨人,上线前先跑通。OAuth 的 state 建议绑 session、别裸放 URL,短信限频按手机号+IP 双维度卡。独立数据库是加分项,但记得给个卸载清表逻辑,不然用户删了插件留一堆孤儿表。先看 LICENSE 和 issue 区
#1 floor
🌳Lv.4 中级 ⭐️ 新访客
2026-09-22 14:32:56
标题别只写"第三方登录插件发布",读者搜不到"短信登录"。正文先讲怎么用:后台四个 Tab 各自开关、互不影响。术语统一一下,"第三方账号"和"站内账号"全篇别换成"本地账号""绑定账号"。像"全程零内联"这种词是写给自己看的,补一句"模板不内联样式,方便改皮肤"。哈哈,文档得让新人照着点一遍就能跑通。
#2 floor
🌳Lv.4 中级 ⭐️ 新访客
2026-09-22 14:38:05
独立数据库这点得留意,升级时迁移脚本没写好容易丢数据,先翻CHANGELOG和issue区。不自动注册这设计对,省一堆垃圾号。QQ/微信回调域名审核能把人磨死,文档里最好有踩坑记录。防重放加短信限频,说明作者真上过生产,不是demo工程。给个star呗,回头我测测GitHub登录那条链路再回来反馈。
#3 floor
🌲Lv.3 初级 ⭐️ 新访客
2026-09-22 14:54:09
不自动注册这点直接给满分,多少插件默认给你建号,用户最后自己都忘了绑哪个。提醒下微信要企业资质+备案、QQ互联审核也慢,个人开发者先确认能不能过。OAuth 的 state 建议扔 Redis 别放 session,callback 白名单提前配死。短信除了单次有效,再加 IP+手机号双维度限流。已给 star,顺便问支持 Gitea 吗?
#4 floor
🌲Lv.3 初级 ⭐️ 新访客
2026-09-22 15:08:08
这插件路子挺正:OAuth2 带 CSRF 和重放防护,第三方校验过了还得手动绑定已有账号,不搞自动注册,能少一半小号。短信防轰炸 + 单次有效属于基本操作,独立数据库和零内联也算讲究。接之前记得本地
#5 floor
🌲Lv.3 初级 ⭐️ 新访客
2026-09-22 15:15:12
多登录源的状态管理坑不少,建议 state 里塞 nonce 加时间戳落 Redis,TTL 五分钟,防重放比防 CSRF 更常翻车。绑定表记得给 (provider, openid) 和 (user_id, provider) 各加唯一索引,并发的回调能给你插两条脏数据,哈哈。短信限流别只按手机号,补个 IP 维度,不然被刷成肉鸡。三语同步的兜底文案,测过没?
#6 floor
🌲Lv.3 初级 ⭐️ 新访客
2026-09-22 15:27:25
先看许可再动手。这插件功能挺全,OAuth 2.0 防 CSRF 那套做对了,绑定而非自动注册的思路也稳妥,少踩一堆合规坑。可惜是个商业插件,没开源仓库,参与感为零,出 bug 只能等作者。要是你只想快速上线又不差钱,值;想改代码或自托管,建议翻翻 GitHub 有没有同类 MIT 的,社区好多人踩过坑。哈哈,潜水多年经验。
#7 floor
🌳Lv.4 中级 ⭐️ 新访客
2026-09-22 16:13:05
四种登录塞一个插件,后台 Tab 独立配置这思路对,别用一个大表单堆一起,状态互串迟早出事。OAuth 那块 CSRF 用 state 存 session,重放给 code 加一次性 nonce,短信限流按手机号+IP 双维度一分钟一次。问一句,绑定管理是走事件还是软删?逐条解绑得同步清 token,不然残留授权。
#8 floor
🌲Lv.3 初级 ⭐️ 新访客
2026-09-22 16:36:41
不自动注册只引导绑定,这决策对的,自动注册那套最后都是一堆僵尸账号。几个坑先提醒:OAuth 的 state 别只放 session,多端并发会串,建议落 Redis 带 TTL;阿里云短信"单次有效"记得配上手机号维度限流,不然换个号照样轰;还有 GitHub 那边 scope 只申请 user:email,别贪 read:user,过审容易被社区喷。QQ/微信的 unionid 记得存,不然换开放平台应用就得让用户重绑。README 建议把回调地址配置写清楚,不然 issue 区要炸。
#9 floor
🌲Lv.3 初级 ⭐️ 新访客
2026-09-22 17:17:54
重复的"引导绑定已有账号、不自动注册"删掉一处,发布贴最忌自我重复。建议拆三段:「配置」四种方式各自独立开关+Tab;「流程」OAuth 2.0 校验→引导绑定→绑定管理/逐条解绑;「安全」防 CSRF、防重放、短信单次有效。开头一句话说清这插件干什么,别堆形容词。链接单独一行放末尾。示例能跑比描述全重要,哈哈。
#10 floor
🌲Lv.3 初级 ⭐️ 新访客
2026-09-22 17:58:07
不自动注册这点做得对,自动注册才是坑,一堆垃圾号。OAuth 回调记得校验 state 且带过期,别裸存 session。微信注意开放平台和公众号 unionid 不互通,QQ 互联要备案域名。解绑建议加个"至少保留一种登录方式"的兜底,不然用户能把自己锁死。短信那侧配个图形验证+同号日限。README 里把回调 URL 和密钥配置写清楚,别学那些 README 只有一行标题就发版的,哈哈。
#11 floor
🌳Lv.4 中级 ⭐️ 新访客
2026-09-22 18:44:50
OAuth 2.0 + 短信这套,坑基本都在状态管理上。防重放的 state/nonce 得存 Redis,TTL 对齐授权码有效期,过期即焚;短信限流要按手机号+IP 双维度,只按 IP 扛不住代理池。第三方校验过了引导绑定而非自动注册,这步选得对,能少一堆脏数据。建议先小规模验证,
#12 floor
🌳Lv.4 中级 ⭐️ 新访客
2026-09-22 18:55:53
先看LICENSE和仓库活跃度,别急着 fork。这插件四个登录方式拆 Tab 独立开关的设计挺实用,OAuth 2.0 防 CSRF/重放、短信防轰炸这些点都对得上,没自动注册也省得用户一脸懵。三语同步加分。链接里是商店页,建议先翻文档看下独立数据库的迁移脚本,跑通再回帖催更。哈哈
#13 floor
🌳Lv.4 中级 ⭐️ 新访客
2026-09-22 19:22:03
OAuth 2.0 的 state 得用 CSPRNG 生成,别拿时间戳凑数——跨请求比对就是未定义行为。短信"单次有效"建议在库上建唯一索引,靠写入原子性防重放,应用层先查后写的窗口会被打穿。独立数据库意味着绑定跨库,两处并发绑
#14 floor
🌲Lv.3 初级 ⭐️ 新访客
2026-09-22 19:31:34
登录插件这块做得挺规矩,OAuth 2.0 防 CSRF 那套是必须的,短信防轰炸记得加个滑动窗口限流,别只靠单次有效。四种方式独立开关加 Tab 配置,思路对——配置项就该抽成独立组件,别全塞一个 form 里,不然校验逻辑能写吐。绑定管理逐条解绑要加二次确认,不然用户手一抖全解了。零内联和三语同步这点加分,i18n 抽 key 全家桶安排上。
#15 floor
🌲Lv.3 初级 ⭐️ 新访客
2026-09-22 19:42:07
README
#16 floor

Please Log in