README.md
January 12, 2026 · View on GitHub
Caomei Auth
统一登录平台 · OAuth2.0 · 多因子认证 · 社交登录
🍓 草梅 Auth 是一个基于 Nuxt 3 全栈框架的现代化统一登录平台。支持 OAuth2.0 协议,集成多种登录方式,为您的应用提供完整的身份认证解决方案。
✨ 特性
- 🔐 OAuth2.0 协议 - 标准的授权协议,易于集成
- 🚀 多种登录方式 - 邮箱、用户名、手机号、验证码、社交媒体登录
- 🛡️ 安全可靠 - 多因子认证、登录日志、设备管理
- 📱 响应式设计 - 完美适配桌面端与移动端
- ⚡ 高性能 - 基于 Nuxt 3 的 SSR 渲染
- 🎨 现代化 UI - 基于 PrimeVue 组件库,支持主题定制
- 🌍 多种部署方式 - Node.js、Docker、Vercel、Cloudflare Workers
- 📚 完整文档 - 详细的 API 文档和集成指南
🏠 在线体验
-
演示站点: https://auth-demo.cmyr.dev/
- 可以通过用户名
demo_admin,密码Demo@123456登录演示用管理员账号。
- 可以通过用户名
-
正式站点: https://auth.cmyr.dev/
- 您可以注册自己的账号查看用户视角。
-
问题反馈和交流群:请参考该链接中的内容 #114
希望试用基于 草梅 Auth 的第三方登录功能?
- afdian-linker: https://afdian.cmyr.dev/
页面截图



🚀 快速开始
- 项目规范: docs/standards/development.md
- 部署指南: docs/deployment/index.md
- 开发文档: docs/development/index.md
- 详细文档: docs/index.md
环境要求
- Node.js >= 18
- 数据库:PostgreSQL / MySQL / SQLite
- PNPM(推荐)
安装
# 克隆项目
git clone https://github.com/CaoMeiYouRen/caomei-auth.git
cd caomei-auth
# 安装依赖(推荐使用 pnpm)
pnpm install
# 配置环境变量
cp .env.example .env
# 编辑 .env 文件,配置数据库连接等
# 启动开发服务器
pnpm dev
访问 http://localhost:3000 查看应用
生产部署
# 构建生产版本
pnpm build
# 启动生产服务器
pnpm preview
🛠️ 技术栈
| 技术分类 | 使用技术 |
|---|---|
| 前端框架 | Vue 3, Nuxt 3 |
| UI 组件库 | PrimeVue, @mdi/font |
| 认证框架 | Better Auth |
| 数据库 | PostgreSQL, MySQL, SQLite |
| ORM | TypeORM |
| 样式预处理 | SCSS |
| 包管理器 | PNPM |
| 类型检查 | TypeScript |
📋 功能列表
🔐 认证功能
- ✅ 邮箱 + 密码登录
- ✅ 用户名 + 密码登录
- ✅ 手机号 + 密码登录
- ✅ 邮箱验证码登录
- ✅ 短信验证码登录
- ✅ 社交媒体登录(GitHub、Google、Microsoft 等)
- ✅ 多因子认证(MFA)
- ✅ OAuth2.0 授权
- ✅ SSO 单点登录
👤 用户管理
- ✅ 用户注册/登录
- ✅ 个人资料管理
- ✅ 密码修改
- ✅ 账号安全设置
- ✅ 登录日志查看
- ✅ 设备管理
🔧 管理后台
- ✅ 用户管理
- ✅ OAuth 应用管理
- ✅ 登录统计分析
- ✅ 系统配置
📱 其他功能
- ✅ 响应式设计
- ✅ 多种部署方式
- ✅ 完整的 API 文档
- 🚧 多语言支持(开发中)
- 🚧 无障碍适配(开发中)
🆚 为什么选择草梅 Auth?
与其他认证方案的对比
| 对比维度 | 草梅 Auth | Auth0/Firebase | Keycloak | 自建系统 |
|---|---|---|---|---|
| 📊 数据掌控 | ✅ 完全掌控 | ❌ 第三方托管 | ✅ 自主掌控 | ✅ 完全掌控 |
| 💰 成本效益 | ✅ 无用户费用 | ❌ 按用户计费 | ✅ 免费开源 | ⚠️ 开发成本高 |
| 🚀 开发效率 | ✅ 开箱即用 | ✅ 快速集成 | ⚠️ 配置复杂 | ❌ 从零开发 |
| 🛠️ 定制能力 | ✅ 深度定制 | ⚠️ 有限定制 | ✅ 高度可配 | ✅ 完全定制 |
| 🔧 运维负担 | ✅ 轻量运维 | ✅ 零运维 | ❌ 重度运维 | ❌ 全面运维 |
🎯 核心优势
- 🏗️ 全栈一体化 - 基于 Nuxt 3,前后端统一,开发体验佳
- 💾 数据自主权 - 用户数据存储在您的数据库中,完全掌控
- 💸 成本优势 - 无按用户计费,大规模应用成本更低
- 🔒 企业级安全 - 内置双因子认证、审计日志、会话管理
- 🚀 现代化技术 - TypeScript + Better Auth + PrimeVue
了解更多对比详情: 📊 详细方案对比
📖 文档
🔧 开发命令
# 开发
pnpm dev # 启动开发服务器
pnpm build # 构建生产版本
pnpm generate # 生成静态站点
pnpm preview # 预览生产版本
# 代码质量
pnpm lint # ESLint 代码检查
pnpm lint:css # Stylelint 样式检查
pnpm test # 运行测试
pnpm test:coverage # 运行测试并生成覆盖率报告
# 文档
pnpm docs:dev # 启动文档开发服务器
pnpm docs:build # 构建文档
pnpm docs:preview # 预览文档
# 其他
pnpm commit # 标准化提交
🔄 部署
Docker 部署
# 使用 Docker Compose
docker-compose up -d
# 或者使用 Docker
docker build -t caomei-auth .
docker run -p 3000:3000 caomei-auth
Vercel 部署
Cloudflare Workers 部署(开发中)
即将支持部署到 Cloudflare Workers,敬请期待。
🤝 贡献
我们非常欢迎各种形式的贡献!
如何贡献
- Fork 这个项目
- 创建你的功能分支 (
git checkout -b feature/AmazingFeature) - 提交你的更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 打开一个 Pull Request
报告问题
如果你发现了问题或有新的功能建议,请 创建 Issue。
详细的贡献指南请查看 CONTRIBUTING.md。
📄 许可证
本项目的 Logo 不在 License 协议范围内,图片版权由项目所有者 CaoMeiYouRen 保留。如要进行商业化使用,需更换 Logo。非商业化使用的情况允许在不影响项目所有者权益的情况下使用。
本项目采用 MIT 许可证。
👤 作者
CaoMeiYouRen
- 🌐 Website: https://blog.cmyr.ltd/
- 🐙 GitHub: @CaoMeiYouRen
💰 支持作者
如果这个项目对你有帮助,请给一个 ⭐️,非常感谢!
你也可以通过以下方式支持作者:
🌟 Star History
🏆 Contributors
感谢所有为这个项目做出贡献的开发者:
Made with ❤️ by CaoMeiYouRen
如果你喜欢这个项目,请给它一个 ⭐️!
Copyright © 2025 CaoMeiYouRen