[TOC]
# 自定义uaa-server-spring-boot-starter
uaa-server-spring-boot-starter深度扩展spring cloud oauth2/ spring security封装平台通用认证服务能力,,在不同的项目中,可能会要求使用jwt token,也可能会要求使用redis token,平台需要封装统一的认证能力,应对不同项目的技术要求 。
## 认证中心功能
* 通用认证接口
* 通用的token生成机制(TokenStore)
* 通用的访问控制(com.open.capacity.uaa.config.SecurityConfig,com.open.capacity.uaa.UAAServerConfig,com.open.capacity.uaa.common.UAAClientAutoConfig)
* 通用的异常配置(SecurityHandlerConfig,ExceptionHandlerAdvice)
* 通用的验证码校验
### 认证授权服务器处理流程

### 认证授权类关系图

### oauth2的角色和流程

### oauth2 客户端应用信息处理

### oauth2 客户端应用表结构

### 认证服务器配置

### security配置
配置多用户插件工厂,登录处理器。

### 基于插件用户模型


### oauth2的核心入口

### oauth2的模式

#### 模式验证

#### 默认模式配置

通过以上配置,/oauth/token的grant_type会有以下模式
* 客户端模式

* 密码模式


* 授权码
[ http://127.0.0.1:8000/api-auth/oauth/authorize?client_id=owen&redirect_uri=http://127.0.0.1:9997/clientOne/login&state=abc&scope=app&response_type=code](http://127.0.0.1:8000/api-auth/oauth/authorize?client_id=owen&redirect_uri=http://127.0.0.1:9997/clientOne/login&state=abc&scope=app&response_type=code)
跳转统一登录页面,登录成功获取授权码
http://127.0.0.1:9997/clientOne/login?code=gd6jyM&state=abc

授权码存取策略

* 刷新模式

#### 扩展模式配置

### openId模式

#### openId granter

#### openId provider

#### openid config

### 图形验证码模式
#### 获取验证码

#### 根据验证码获取token

#### password code granter

### 二维码谷歌动态验证码模式
#### 选择动态令牌方式登录,展现二维码,扫码后输入动态验证码

#### 通过微信小程序搜索二次验证码扫码获取动态令牌输入动态验证码

#### 接口信息

#### google password模式

#### 注意以上两种granter继承实现的类不同
* AbstractTokenGranter
* ResourceOwnerPasswordTokenGranter
### security配置
配置扩展安全认证信息

### security handler配置
配置登录异常成功等处理器

### token 生成流程

通过以下方式生成token

#### 监控redis 的操作情况
~~~
D:\soft\redis>redis-cli.exe -h 59.110.164.254 -p 6379
59.110.164.254:6379> select 2
OK
59.110.164.254:6379[2]> monitor
~~~

### 重复登录认证之基于websocket的重复登录提示

### 基于websocket的架构设计

### 后端处理逻辑

### 前端处理

- 01.前言
- 02.快速开始
- 01.maven构建项目
- 02.安装mysql数据库
- 03.安装redis缓存中间件
- 04.快速启动框架
- 03.总体流程
- 01.架构设计图
- 02.oauth接口
- 03.功能介绍
- 04.部署细节
- 04.模块详解
- 01.基础介绍
- 02.自定义db-spring-boot-starter
- 03.自定义log-spring-boot-starter
- 04.自定义redis-spring-boot-starter
- 05.自定义base-spring-boot-starter
- 06.自定义common-spring-boot-starter
- 07.自定义loadbalancer-spring-boot-starter
- 08.自定义swagger-spring-boot-starter
- 09.自定义uaa-client-spring-boot-starter
- 10.自定义uaa-server-spring-boot-starter
- 11.自定义oss-spring-boot-starter
- 12.自定义sentinel-spring-boot-starter
- 05.服务详解
- 01.nacos-server
- 02.auth-server
- 03.user-center
- 04.new-api-gateway
- 05.file-center
- 06.log-center
- 07.back-center
- 08.auth-sso模块
- 09.admin-server
- 10.job-center
- 06.系统安全
- 01.非法字符漏洞攻击
- 02.防重放攻击
- 03.代码审计
- 04.Xray扫洞
- 05.混沌工程质量保证
- 07.生产部署K8S
- 01.基本环境安装
- 02.基本组件安装
- 03.集群验证
- 04.安装Metrics Server
- 05.安装容器平台
- 06.Ingress网关
- 07.metalb负载均衡器
- 08.容器平台集群
- 08.K8S资源练习
- 01.Deployment
- 02.StatefulSet
- 03.DaemonSet
- 04.redis集群服务
- 05.elasticsearch集群
- 06.rocketmq部署
- 09.生产容器化部署
- 01.nacos集群部署
- 02.user-center服务
- 03.auth-server服务
- 04.new-api-gateway服务
- 技术交流