Auth - OAuth2.0 授权中心

Auth

Github 仓库 | Gitee 仓库

简介

Auth 是一个基于 Spring BootOAuth2.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)

展示

前端展示

包含登录注册、应用授权、个人信息管理、应用管理以及用户管理和系统设置。

前往查看用户中心

隐式授权示例 (implicit)

您可以使用下列的测试账号登录,它们拥有测试权限以及开发者权限。

用户名 密码
test_user 123456
aaaaaa 123456
bbbbbb 123456
  1. 出于功能展示的目的,测试账号拥有查看所有用户信息的权限。如果您打算进行注册账号,您的电子邮箱地址可能会被其他人看到。
  2. 若上述测试账号均不可用,请 创建 Issue 联系我。

接口浏览

Open API URL
JSON https://api.dustlight.cn/v1/api-doc
YAML https://api.dustlight.cn/v1/api-doc.yaml

后端接口浏览调试:
前往查看(Swagger UI)

猜你喜欢

转载自blog.csdn.net/weixin_48803392/article/details/114890730