An open API service indexing awesome lists of open source software.

https://github.com/CaoMeiYouRen/caomei-auth

草梅 Auth 是一个基于 Nuxt 全栈框架的统一登录平台。支持 OAuth2.0 协议,集成邮箱、用户名、手机号、验证码、社交媒体等多种登录注册方式。
https://github.com/CaoMeiYouRen/caomei-auth

authorization oauth2 social-login sso unified-login user-management

Last synced: 3 months ago
JSON representation

草梅 Auth 是一个基于 Nuxt 全栈框架的统一登录平台。支持 OAuth2.0 协议,集成邮箱、用户名、手机号、验证码、社交媒体等多种登录注册方式。

Awesome Lists containing this project

README

          


Caomei Auth


Caomei Auth


统一登录平台 · OAuth2.0 · 多因子认证 · 社交登录


Version

Docker Pulls


Codecov


GitHub Workflow Status



Documentation


Maintenance


License: MIT

> 🍓 草梅 Auth 是一个基于 **Nuxt 3** 全栈框架的现代化统一登录平台。支持 **OAuth2.0** 协议,集成多种登录方式,为您的应用提供完整的身份认证解决方案。

## ✨ 特性

- 🔐 **OAuth2.0 协议** - 标准的授权协议,易于集成
- 🚀 **多种登录方式** - 邮箱、用户名、手机号、验证码、社交媒体登录
- 🛡️ **安全可靠** - 多因子认证、登录日志、设备管理
- 📱 **响应式设计** - 完美适配桌面端与移动端
- ⚡ **高性能** - 基于 Nuxt 3 的 SSR 渲染
- 🎨 **现代化 UI** - 基于 PrimeVue 组件库,支持主题定制
- 🌍 **多种部署方式** - Node.js、Docker、Vercel、Cloudflare Workers
- 📚 **完整文档** - 详细的 API 文档和集成指南

## 🏠 在线体验

- **演示站点**: [https://auth-demo.cmyr.dev/](https://auth-demo.cmyr.dev/)

- 可以通过用户名 `demo_admin`,密码`Demo@123456`登录演示用管理员账号。

- **正式站点**: [https://auth.cmyr.dev/](https://auth.cmyr.dev/)

- 您可以注册自己的账号查看用户视角。

- **文档站点**: [https://auth-docs.cmyr.dev/](https://auth-docs.cmyr.dev/)
- **问题反馈和交流群**:请参考该链接中的内容 [#114](https://github.com/CaoMeiYouRen/caomei-auth/issues/114)
- QQ 群: [807530287](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=K3QRQlxv_y7KqLhdEZmfouxKv9WHLN_v&authKey=pfdJX4EkvKGQXQrtM5BR968EbtFc9WnVvz8AtLiSUTGZRgw3P1wBWESSDcEjoCZB&noverify=0&group_code=807530287)
- Discord: [草梅友仁的交流群](https://discord.gg/6bfPevfyr6)

希望试用基于 `草梅 Auth` 的第三方登录功能?

- **afdian-linker**: [https://afdian.cmyr.dev/](https://afdian.cmyr.dev/)

**页面截图**

![image-20250720201256684](https://oss.cmyr.dev/images/20250720201256857.png)

![image-20250807233209195](https://oss.cmyr.dev/images/20250807233216397.png)

![image-20250803195105231](https://oss.cmyr.dev/images/20250803195112443.png)

## 🚀 快速开始

- **项目规范**: [docs/standards/development.md](docs/standards/development.md)
- **部署指南**: [docs/deployment/index.md](docs/deployment/index.md)
- **开发文档**: [docs/development/index.md](docs/development/index.md)
- **详细文档**: [docs/index.md](docs/index.md)

### 环境要求

- Node.js >= 18
- 数据库:PostgreSQL / MySQL / SQLite
- PNPM(推荐)

### 安装

```bash
# 克隆项目
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](http://localhost:3000) 查看应用

### 生产部署

```bash
# 构建生产版本
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

**了解更多对比详情:** [📊 详细方案对比](https://auth-docs.cmyr.dev/docs/usage/comparison)

## 📖 文档

- [📚 完整文档](https://auth-docs.cmyr.dev/)
- [🚀 快速开始](https://auth-docs.cmyr.dev/docs/usage/getting-started)
- [🆚 方案对比](https://auth-docs.cmyr.dev/docs/usage/comparison)
- [🔌 API 文档](https://auth-docs.cmyr.dev/docs/api/)
- [🛠️ 部署指南](https://auth-docs.cmyr.dev/docs/deployment/)
- [📖 开发指南](https://auth-docs.cmyr.dev/docs/development/)

## 🔧 开发命令

```bash
# 开发
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 部署

```bash
# 使用 Docker Compose
docker-compose up -d

# 或者使用 Docker
docker build -t caomei-auth .
docker run -p 3000:3000 caomei-auth
```

### Vercel 部署

[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2FCaoMeiYouRen%2Fcaomei-auth)

### Cloudflare Workers 部署(开发中)

即将支持部署到 Cloudflare Workers,敬请期待。

## 🤝 贡献

我们非常欢迎各种形式的贡献!

### 如何贡献

1. Fork 这个项目
2. 创建你的功能分支 (`git checkout -b feature/AmazingFeature`)
3. 提交你的更改 (`git commit -m 'Add some AmazingFeature'`)
4. 推送到分支 (`git push origin feature/AmazingFeature`)
5. 打开一个 Pull Request

### 报告问题

如果你发现了问题或有新的功能建议,请 [创建 Issue](https://github.com/CaoMeiYouRen/caomei-auth/issues)。

详细的贡献指南请查看 [CONTRIBUTING.md](./CONTRIBUTING.md)。

## 📄 许可证

**本项目的 Logo 不在 License 协议范围内,图片版权由项目所有者 [CaoMeiYouRen](https://github.com/CaoMeiYouRen) 保留。如要进行商业化使用,需更换 Logo。非商业化使用的情况允许在不影响项目所有者权益的情况下使用。**

本项目采用 [MIT](./LICENSE) 许可证。

## 👤 作者

**CaoMeiYouRen**

- 🌐 Website: [https://blog.cmyr.ltd/](https://blog.cmyr.ltd/)
- 🐙 GitHub: [@CaoMeiYouRen](https://github.com/CaoMeiYouRen)

## 💰 支持作者

如果这个项目对你有帮助,请给一个 ⭐️,非常感谢!

你也可以通过以下方式支持作者:


在爱发电支持我

## 🌟 Star History

[![Star History Chart](https://api.star-history.com/svg?repos=CaoMeiYouRen/caomei-auth&type=Date)](https://star-history.com/#CaoMeiYouRen/caomei-auth&Date)

## 🏆 Contributors

感谢所有为这个项目做出贡献的开发者:



---


Made with ❤️ by CaoMeiYouRen



如果你喜欢这个项目,请给它一个 ⭐️!

Copyright © 2025 CaoMeiYouRen