本文在 草梅友仁的博客 发布和更新,并在多个平台同步发布。如有更新,以博客上的版本为准。您也可以通过文末的
原文链接
查看最新版本。
前言
欢迎来到草梅周报!这是一个由草梅友仁基于 AI 整理的周报,旨在为您提供最新的博客更新、GitHub 动态、个人动态和其他周刊文章推荐等内容。
本周依旧在开发 草梅 Auth 中。
你也可以直接访问官网地址:https://auth.cmyr.dev/
本周 草梅 Auth 也正式发布了 1.0.0 版本。
目前已经实现了以下登录方式:
- 邮箱 + 密码
- 用户名 + 密码
- 手机号 + 密码
- 邮箱验证码
- 短信验证码
- 第三方社交媒体(GitHub、Google、Microsoft、Discord、微博、QQ 等)
本周主要在研究第三方社交媒体登录的事情,接下来会详细讲下这个事情。
首先要说明的是,为什么要接入第三方登录?
原因很简单:因为第三方登录可以让用户更方便地注册和登录你的应用,减少用户的注册成本,提高用户体验。
就像国内的应用大多会接入微信登录,国外的应用大多会接入 Google 登录一样,这已经成为了一种趋势。
草梅 Auth 作为一个统一登录平台,自然要实现这一功能。
要接入第三方登录,首先要知道怎么接入第三方登录。
目前主流的第三方登录方案普遍采用 OAuth 2.0 协议。
OAuth 2.0 是一种授权协议,它允许用户授权第三方应用访问他们在社交媒体上的信息,而无需分享用户名和密码。
草梅 Auth 会根据用户的登录方式,自动调用对应的 OAuth 2.0 接口,获取用户的信息。
接入第三方登录的流程大致如下:
- 用户点击第三方登录按钮
- 应用重定向用户到第三方登录页面
- 用户在第三方登录页面输入用户名和密码,授权应用访问他们的信息
- 第三方登录页面重定向用户回应用,并携带授权码
- 应用使用授权码向第三方登录接口请求用户信息
- 第三方登录接口返回用户信息
- 应用使用用户信息创建或更新用户账户,并登录用户
- 用户成功登录,应用跳转到用户主页或其他页面
接入第三方登录的具体实现会根据不同的社交媒体而有所不同,但大致流程是类似的。
所以,开发者要先在对应的平台注册应用,获取到应用的 Client ID 和 Client Secret。
然后,开发者要在应用中配置好对应的 OAuth 2.0 信息,包括 Client ID、Client Secret、回调 URL 等。
最后,用户点击登录按钮,应用就会跳转到对应的第三方登录页面,用户在页面中输入用户名和密码,授权应用访问用户信息。
这样就可以使用第三方登录的方式登录应用了。
在草梅 Auth 中,则是通过调用 better-auth 封装好的插件,来实现 GitHub、Google、Microsoft、Discord 等第三方平台的登录。
只要设置对应的环境变量,就能实现相应的登录方式。
以下是截图展示:
实现 GitHub、Google、Microsoft、Discord 等国外第三方平台的接入并不复杂,在 better-auth 的文档中也有提及。
实现国内的微博、QQ (以及微信、抖音)等第三方平台的接入会略显麻烦。
首先,由于政策不同,国内的第三方平台普遍要求接入的网站拥有 IPC 备案号才能允许接入,部分平台(例如微信、抖音等)还要求有企业(或个体户)资格才能接入第三方登录。
除此之外,由于习惯原因,国内的第三方平台普遍在返回的用户信息中不提供邮箱(微博则是需要单独申请),因此在用户的关联上也成难题。
就我个人这段时间的调研而言,在国内,接入门槛最低的第三方平台是来自网页端时代的 QQ 和微博,这两个平台只需要有 IPC 备案号就能接入,门槛较低。
在草梅 Auth 中,也接入了 QQ 和微博作为国内的第三方登录方式。
您可以通过国内版体验:https://auth.cmyr.ltd
因此,目前最合适个人开发者的全球化第三方登录方式分别是:GitHub、Google、微博、QQ。
如果你也想接入第三方登录,不妨优先考虑以上几个社交平台。
接入 QQ 登录的过程中顺便修了一下 better-auth 的一个 BUG。
博客更新
- 《罗小黑战记 2》观后感 - 2025-07-20 18:55:00
摘要:
今天跟大家来聊一下最近去看的动画电影《罗小黑战记 2》的观后感。
GitHub Release
caomei-auth
v1.0.0 - 2025-07-19 19:22:21
摘要:
版本 1.0.0 (2025-07-19) 摘要:
代码重构:
- 迁移电话功能开关和环境变量配置到运行时
- 重构认证模块、数据库连接和存储系统
- 优化登录、注册、找回密码等页面的状态管理
- 统一环境变量前缀为 NUXT_PUBLIC
- 移除未使用的代码和冗余配置
新功能:
- 新增 Discord、Microsoft、QQ、微博等社交登录支持
- 添加手机号验证、短信功能、匿名登录功能
- 实现用户资料管理(头像上传、昵称设置等)
- 新增会话管理、密码修改功能
- 支持 PostgreSQL 和 SQLite 数据库
- 添加文件存储功能(支持 S3 和 Vercel Blob)
- 新增隐私政策和服务条款页面
Bug 修复:
- 修复社交登录按钮样式问题
- 优化临时邮箱生成逻辑
- 修正 S3 客户端端点配置
- 修复用户名显示问题
- 统一错误提示显示时间
- 更新环境变量处理逻辑
- 添加移动端响应式样式
其他改进:
- 优化 UI 组件和页面布局
- 添加主题色配置
- 增强表单验证功能
- 改进用户交互提示
- 优化代码结构和可维护性
最新 GitHub 加星仓库
- CaoMeiYouRen starred upyo - 2025-07-18 17:02:36
Upyo 是一个跨运行时的简单库,用于通过 SMTP 和各种邮件服务提供商发送电子邮件。支持 Node.js、Deno、Bun 和边缘函数环境,主要使用 TypeScript 编写,已获得 303 个星标。 - CaoMeiYouRen starred genai-toolbox - 2025-07-15 19:02:46
MCP Toolbox for Databases 是一个开源的数据库 MCP 服务器,主要使用 Go 语言开发,目前获得 7312 个星标。 - CaoMeiYouRen starred caomei-auth - 2025-07-15 10:32:19
基于 Nuxt 全栈框架的统一登录平台,支持 OAuth2.0 协议,集成多种登录注册方式包括邮箱、用户名、手机号验证码及社交媒体登录。主要开发语言为 Vue。
其他博客或周刊推荐
阮一峰的网络日志
- 科技爱好者周刊(第 357 期):稳定币的博弈 - 2025-07-18 07:59:23
阿猫的博客
- 猫鱼周刊 vol. 073 Burnout 逃生指南 - 2025-07-20 16:08:45
- Clauce Code 使用第三方 API 并优雅地完成多个供应商切换(如 Kimi K2 等) - 2025-07-17 20:33:51
- 猫鱼周刊 vol. 072 可持续的周刊作者 - 2025-07-13 23:08:16
潮流周刊
- 第 229 期 - 换到安卓 - 2025-07-14 08:00:00
二丫讲梵的学习周刊
- 学习周刊-总第 220 期-2025 年第 29 周 - 2025-07-17 22:09:02
总结
本周的更新和动态如上所示。感谢您的阅读!
您可以通过以下方式订阅草梅周报的更新:
往期回顾
- 手机号注册登录功能开发 | 2025 年第 28 周草梅周报 - 2025-07-13 20:15:19
- 草梅 Auth 与 AI 开发心得 | 2025 年第 27 周草梅周报 - 2025-07-06 21:07:41
- 豆包 AI 编程 | 2025 年第 26 周草梅周报 - 2025-06-29 19:56:30
本文作者:草梅友仁
本文地址: https://blog.cmyr.ltd/archives/2025-29-caomei-weekly-auth-1-0-0-third-party-login.html
版权声明:本文采用 CC BY-NC-SA 4.0 协议 进行分发,转载请注明出处!