feat(oauth2): SaOAuth2Util 新增 currentAccessToken()、currentClientToken(),简化读取 access_token、client_token 步骤

This commit is contained in:
click33 2025-05-16 06:36:27 +08:00
parent 6ce8f38aaf
commit fee9ef1643
5 changed files with 63 additions and 3 deletions

View File

@ -130,6 +130,21 @@ SaOAuth2Util.revokeClientToken(clientToken);
SaOAuth2Util.revokeClientTokenByIndex(clientId);
```
### 请求查询
``` java
// 数据读取:从当前请求对象中读取 access_token并查询到 AccessTokenModel 信息,无效 access_token 抛出异常
// 1、请求参数 access_token2、请求头 Authorization Bearer access_token
SaOAuth2Util.currentAccessToken();
// 数据读取:从当前请求对象中读取 client_token并查询到 ClientTokenModel 信息,无效 client_token 抛出异常
// 1、请求参数 client_token2、请求头 Authorization Bearer client_token
SaOAuth2Util.currentClientToken();
```
详情请参考源码:[码云SaOAuth2Util.java](https://gitee.com/dromara/sa-token/blob/master/sa-token-plugin/sa-token-oauth2/src/main/java/cn/dev33/satoken/oauth2/template/SaOAuth2Util.java)

View File

@ -43,7 +43,8 @@ public interface SaOAuth2DataResolver {
ClientIdAndSecretModel readClientIdAndSecret(SaRequest request);
/**
* 数据读取从请求对象中读取 AccessToken
* 数据读取从请求对象中读取 AccessToken获取不到返回 null
* <br /> 1请求参数 access_token2请求头 Authorization Bearer access_token
*
* @param request /
* @return /
@ -51,7 +52,8 @@ public interface SaOAuth2DataResolver {
String readAccessToken(SaRequest request);
/**
* 数据读取从请求对象中读取 ClientToken
* 数据读取从请求对象中读取 ClientToken获取不到返回 null
* <br /> 1请求参数 client_token2请求头 Authorization Bearer client_token
*
* @param request /
* @return /

View File

@ -73,7 +73,8 @@ public class SaOAuth2DataResolverDefaultImpl implements SaOAuth2DataResolver {
}
/**
* 数据读取从请求对象中读取 AccessToken获取不到返回 null
* 数据读取从请求对象中读取 AccessToken获取不到返回 null获取不到返回 null
* <br /> 1请求参数 access_token2请求头 Authorization Bearer access_token
*/
@Override
public String readAccessToken(SaRequest request) {
@ -101,6 +102,7 @@ public class SaOAuth2DataResolverDefaultImpl implements SaOAuth2DataResolver {
/**
* 数据读取从请求对象中读取 ClientToken获取不到返回 null
* <br /> 1请求参数 client_token2请求头 Authorization Bearer client_token
*/
@Override
public String readClientToken(SaRequest request) {

View File

@ -15,6 +15,7 @@
*/
package cn.dev33.satoken.oauth2.template;
import cn.dev33.satoken.context.SaHolder;
import cn.dev33.satoken.oauth2.SaOAuth2Manager;
import cn.dev33.satoken.oauth2.dao.SaOAuth2Dao;
import cn.dev33.satoken.oauth2.data.model.AccessTokenModel;
@ -726,6 +727,27 @@ public class SaOAuth2Template {
}
// ------------------- 请求查询
/**
* 数据读取从当前请求对象中读取 access_token并查询到 AccessTokenModel 信息无效 access_token 抛出异常
* <br /> 1请求参数 access_token2请求头 Authorization Bearer access_token
*/
public AccessTokenModel currentAccessToken() {
String accessToken = SaOAuth2Manager.getDataResolver().readAccessToken(SaHolder.getRequest());
return checkAccessToken(accessToken);
}
/**
* 数据读取从当前请求对象中读取 client_token并查询到 ClientTokenModel 信息无效 client_token 抛出异常
* <br /> 1请求参数 client_token2请求头 Authorization Bearer client_token
*/
public ClientTokenModel currentClientToken() {
String clientToken = SaOAuth2Manager.getDataResolver().readClientToken(SaHolder.getRequest());
return checkClientToken(clientToken);
}
// ----------------- 包装其它 bean 的方法 -----------------
/**

View File

@ -378,4 +378,23 @@ public class SaOAuth2Util {
SaOAuth2Manager.getTemplate().revokeClientTokenByIndex(clientId);
}
// ------------------- 请求查询
/**
* 数据读取从当前请求对象中读取 access_token并查询到 AccessTokenModel 信息无效 access_token 抛出异常
* <br /> 1请求参数 access_token2请求头 Authorization Bearer access_token
*/
public static AccessTokenModel currentAccessToken() {
return SaOAuth2Manager.getTemplate().currentAccessToken();
}
/**
* 数据读取从当前请求对象中读取 client_token并查询到 ClientTokenModel 信息无效 client_token 抛出异常
* <br /> 1请求参数 client_token2请求头 Authorization Bearer client_token
*/
public static ClientTokenModel currentClientToken() {
return SaOAuth2Manager.getTemplate().currentClientToken();
}
}