# spring oauth **Repository Path**: dongwei2012/spring-oauth ## Basic Information - **Project Name**: spring oauth - **Description**: 主要实现Spring oauth2的password模式集成Ldap并将Token数据存储至Redis服务器 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2022-09-14 - **Last Updated**: 2022-09-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # spring oauth #### 介绍 OAuth2 协议一共支持 4 种不同的授权模式: * `授权码模式`:常见的第三方平台登录功能基本都是使用这种模式。 * `简化模式`:简化模式是不需要客户端服务器参与,直接在浏览器中向授权服务器申请令牌(token),一般如果网站是纯静态页面则可以采用这种方式。 * `密码模式`:密码模式是用户把用户名密码直接告诉客户端,客户端使用说这些信息向授权服务器申请令牌(token)。这需要用户对客户端高度信任,例如客户端应用和服务提供商就是同一家公司,我们自己做前后端分离登录就可以采用这种模式。 * `客户端模式`:客户端模式是指客户端使用自己的名义而不是用户的名义向服务提供者申请授权,严格来说,客户端模式并不能算作 OAuth 协议要解决的问题的一种解决方案,但是,对于开发者而言,在一些前后端分离应用或者为移动端提供的认证授权服务器上使用这种模式还是非常方便的 #### 软件架构 此处代码主要实现'密码模式'集成Ldap并将Token数据存储至Redis服务器 #### 使用说明 ##### 登陆认证 请求所需要参数:username、password * 请求案例 ```bash http://127.0.0.1:8080/login ``` ##### 获取token ###### /oauth/token * 所有请求均为POST `postman请求填写Body中的form-data信息` 请求所需要参数: grant_type、scope、client_id、client_secret、username、password 固定值 :grant_type=`password`、scope=`all`、client_id=`javaboy`、client_secret=`123` * 请求案例 ```bash http://127.0.0.1:8080/oauth/token ``` ##### 检查token ###### /oauth/check_token 请求所需参数:token * 请求案例 ```shell http://127.0.0.1:8080/oauth/check_token?token=d60eac82-c0a2-4b13-9b58-28f03b748bf2 ``` ##### 刷新token ###### /oauth/token 请求所需参数:grant_type、refresh_token、client_id、client_secret 其中grant_type为固定值:grant_type=`refresh_token`、client_id=`javaboy`、client_secret=`123` * 请求案例 ```bash http://127.0.0.1:8080/oauth/token ```