Skip to content

dustlight-cn/auth

Repository files navigation

auth-logo

Auth

Docker Build Status License GitHub release (latest by date including pre-releases) Docker Image Version (latest semver)

简介 | 快速开始 | 文档 | 部署 | 构建 | 鸣谢

简介

Auth 是一个前后端分离的 OAuth2.0 授权中心与用户中心,适用于 微服务鉴权单点登录企业开放平台 等场景。

👀 在线展示 | 🕵️‍♀️ 图片展示

功能包括

  • 用户管理
  • 应用管理
  • 角色与权限管理
  • OAuth2 授权模式与授权作用域管理 (GrantType & Scope)
  • 应用授权与鉴权

特点

  • 无状态的 Restful 服务
  • 简洁、自适应、双语言的前端页面
  • 快速部署微服务

支持的授权模式

  • 授权码模式 authorization_code
  • 客户端凭据模式 client_credentials
  • 隐式授权模式 implicit
  • 令牌刷新 refresh_token
  • 密码模式 password (出于安全考虑默认不启用,如需启用可以自行创建。)

快速开始

HELM 部署

HELM 部署文档

Kubernetes 一键部署服务

使用 kubectl 一键部署服务,集群中需要至少三个持久卷(PersistentVolume)用于 MySQL 数据库 与 Redis 以及上传文件的持久化。

kubectl apply -f https://raw.githubusercontent.com/dustlight-cn/auth/master/docs/deploy/k8s/deploy.yaml

其他部署方式请参考:部署文档

构建、配置请参考 文档

展示

在线展示

前往查看

若您不想注册账号或者像想体验更高权限的功能,可以使用 测试账号

测试账号

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

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

用户名 密码
test_user 123456
aaaaaa 123456
bbbbbb 123456

OAuth2 授权页面与端点

功能(前端) URL 示例
授权 /authorize 隐式授权示例 (implicit)
功能(后端) URL 方法
颁发 OAuth 令牌 /v1/oauth/token POST
销毁令牌 /v1/token DELETE
检查令牌有效性 /v1/token/validity GET / POST
颁发签名 JWT /v1/jws POST
转换 JWT /v1/jws GET
获取 JWT 公钥 (JWK) /v1/jwk GET

接口浏览

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

图片展示

应用授权

authorize

用户详情

user_details

应用详情

client_details

系统设置

settings

实现细节

后端

  • 通过重写 Spring Security OAuth2 中的 Endpoint 实现前后端分离架构,使用 Redis 存储 Token、授权码、验证码等。
  • 基于 MySQL & MyBatis 实现包括用户管理、应用管理、权限与角色管理等业务。
  • 文件储存通过第三方服务实现(同时兼容本地储存),登录注册等接口通过谷歌 reCAPTCHA 人机识别进行验证。
  • 使用 Spring Doc & Swagger-UI 生成 OpenAPI 文档和 API 调试页面。

前端

  • 基于 Vue & Quasar 框架。
  • 使用 OpenAPI Generator 生成 Typescript Axios SDK。

鸣谢

JetBrains

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy