Auth
简介
Auth 是一个基于 Spring Boot 的 OAuth2.0 用户中心。 提供 OAuth2.0 授权与管理服务,以及包括用户、应用、角色与权限的管理。 提供 Restful 接口以及 OpenAPI 文档。
提供基于 Vue & Quasar 的前端页面。 支持微服务部署。
支持的授权模式
- 授权码模式 authorization_code ✔
- 客户端凭据模式 client_credentials ✔
- 隐式授权模式 implicit ✔
- 令牌刷新 refresh_token ✔
- 密码模式 password (默认不启用,如需启用可以创建授权模式。)
后端
- 通过重写 Spring Security OAuth2 中的 Endpoint 实现前后端分离架构,使用 Redis 存储 Token、授权码、验证码等。
- 基于 MySQL & MyBatis 实现包括用户管理、应用管理、权限与角色管理等业务。
- 文件储存通过第三方服务实现(同时支持本地储存),登录注册等接口通过谷歌 reCAPTCHA 人机识别进行验证。
- 使用 Spring Doc & Swagger-UI 生成 OpenAPI 文档和 API 调试页面。
OAuth2 端点
功能 | URL | 方法 |
---|---|---|
颁发 OAuth 令牌 | /v1/oauth/token | POST |
销毁令牌 | /v1/token | DELETE |
检查令牌 | /v1/token/validity | GET / POST |
授权 | - | - |
由于后端服务只提供 Restful 接口,授权页面由前端提供。
前端
- 基于 Vue & Quasar 框架。
- 使用 OpenAPI Generator 生成 Typescript Axios SDK。
- 国际化(中英文) & 自适应。
功能 | URL | |
---|---|---|
授权 | /authorize | 隐式授权示例 (implicit) |
关键词
- OAuth2.0 授权中心
- 无状态(Stateless)
- 角色权限(RBAC)
展示
前端展示
包含登录注册、应用授权、个人信息管理、应用管理以及用户管理和系统设置。
您可以使用下列的测试账号登录,它们拥有测试权限以及开发者权限。
用户名 | 密码 |
---|---|
test_user | 123456 |
aaaaaa | 123456 |
bbbbbb | 123456 |
- 出于功能展示的目的,测试账号拥有查看所有用户信息的权限。如果您打算进行注册账号,您的电子邮箱地址可能会被其他人看到。
- 若上述测试账号均不可用,请 创建 Issue 联系我。
接口浏览
Open API | URL |
---|---|
JSON | https://api.dustlight.cn/v1/api-doc |
YAML | https://api.dustlight.cn/v1/api-doc.yaml |
后端接口浏览调试:
前往查看(Swagger UI)