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); 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) 详情请参考源码:[码云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); ClientIdAndSecretModel readClientIdAndSecret(SaRequest request);
/** /**
* 数据读取从请求对象中读取 AccessToken * 数据读取从请求对象中读取 AccessToken获取不到返回 null
* <br /> 1请求参数 access_token2请求头 Authorization Bearer access_token
* *
* @param request / * @param request /
* @return / * @return /
@ -51,7 +52,8 @@ public interface SaOAuth2DataResolver {
String readAccessToken(SaRequest request); String readAccessToken(SaRequest request);
/** /**
* 数据读取从请求对象中读取 ClientToken * 数据读取从请求对象中读取 ClientToken获取不到返回 null
* <br /> 1请求参数 client_token2请求头 Authorization Bearer client_token
* *
* @param request / * @param request /
* @return / * @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 @Override
public String readAccessToken(SaRequest request) { public String readAccessToken(SaRequest request) {
@ -101,6 +102,7 @@ public class SaOAuth2DataResolverDefaultImpl implements SaOAuth2DataResolver {
/** /**
* 数据读取从请求对象中读取 ClientToken获取不到返回 null * 数据读取从请求对象中读取 ClientToken获取不到返回 null
* <br /> 1请求参数 client_token2请求头 Authorization Bearer client_token
*/ */
@Override @Override
public String readClientToken(SaRequest request) { public String readClientToken(SaRequest request) {

View File

@ -15,6 +15,7 @@
*/ */
package cn.dev33.satoken.oauth2.template; package cn.dev33.satoken.oauth2.template;
import cn.dev33.satoken.context.SaHolder;
import cn.dev33.satoken.oauth2.SaOAuth2Manager; import cn.dev33.satoken.oauth2.SaOAuth2Manager;
import cn.dev33.satoken.oauth2.dao.SaOAuth2Dao; import cn.dev33.satoken.oauth2.dao.SaOAuth2Dao;
import cn.dev33.satoken.oauth2.data.model.AccessTokenModel; 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 的方法 ----------------- // ----------------- 包装其它 bean 的方法 -----------------
/** /**

View File

@ -378,4 +378,23 @@ public class SaOAuth2Util {
SaOAuth2Manager.getTemplate().revokeClientTokenByIndex(clientId); 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();
}
} }