# 授权组件 **Repository Path**: zhangpanzhi/zpz-oauth ## Basic Information - **Project Name**: 授权组件 - **Description**: spring-security / oauth2.0 / jwt 授权组件,包括:统一授权,统一认证,退出,接口安全(RSA加解密、签名验签、防脚本攻击、防跨站攻击)、权限管理(菜单、按钮、API)。多种登录方式,客户端模式、密码模式、授权码模式;手机号+密码登录、手机号验证码登录、用户名+密码登录,以及多种自定义登录,可以根据业务定制扩展。 可服务化、可以发布maven依赖以组件方式可插拔式集成 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 2 - **Created**: 2019-12-02 - **Last Updated**: 2024-10-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: 授权组件, OAuth2, JWT, Security, spring-security ## README # ZPZ-OAUTH开源授权组件 #### 目的 倡导推进企业级服务化组件化开源探索,秉承业务是根本,服务是手段,开放是价值的理念,做有生命的产品。沉淀企业最前沿的通用服务,打造最有价值的技术组件,用技术驱动产品创新,为企业创新和生产赋能。 #### 功能 1. 授权 - Oauth协议下 客户端模式、授权码模式、密码模式、简单模式 - 用户名密码登录、手机号验证码登录、手机号密码登录、手机号自动注册登录、等多种自定义登录模式,允许自定义扩展登录模式集成... 2. 认证 3. 退出 4. 权限管理 5. 统一请求前置解密、验签、CRSF、XXS等数据安全校验 6. 统一响应后置加密、加签、规范响应体等规范化处理 7. OSS ...... #### 系统数据结构 用户->客户端->角色->菜单->按钮->API #### 技术栈 | Spring Security OAuth2 | 2.3.2 | |------------------------|-------| | SpringBoot | 2.4.2 | | Redis | | | JWT | | #### 系统架构说明 本组件的设计采用了Oauth2.0+jwt的协议实现而成,面向不同的技术架构分为两种实现方式 **1. 分布式(微服务)下的授权认证组件** ![输入图片说明](https://images.gitee.com/uploads/images/2019/1202/122015_0c34acb1_1007473.png "微信图片_20191202121946.png") ![输入图片说明](https://images.gitee.com/uploads/images/2019/1202/122243_b393523d_1007473.png "屏幕截图.png") **2. 单体系统下的授权认证组件** ** 单体服务下的认证授权模式分为** **- 远程服务化模式** ![输入图片说明](https://images.gitee.com/uploads/images/2019/1202/122616_baae23bc_1007473.png "屏幕截图.png") **- 本地插件化模式** ![输入图片说明](https://images.gitee.com/uploads/images/2019/1202/122714_ed40f295_1007473.png "屏幕截图.png") **- 单体服务下的授权认证流程** ![输入图片说明](https://images.gitee.com/uploads/images/2019/1202/123036_5e85c76e_1007473.png "屏幕截图.png") **3. 授权的生命周期** ![输入图片说明](https://images.gitee.com/uploads/images/2019/1202/123205_ccb63cbc_1007473.png "屏幕截图.png")