diff --git a/sa-token-doc/oauth2/oauth2-dev.md b/sa-token-doc/oauth2/oauth2-dev.md index b29aa8f0..bfe6361d 100644 --- a/sa-token-doc/oauth2/oauth2-dev.md +++ b/sa-token-doc/oauth2/oauth2-dev.md @@ -130,6 +130,21 @@ SaOAuth2Util.revokeClientToken(clientToken); SaOAuth2Util.revokeClientTokenByIndex(clientId); ``` + +### 请求查询 + +``` java +// 数据读取:从当前请求对象中读取 access_token,并查询到 AccessTokenModel 信息,无效 access_token 抛出异常 +// 1、请求参数 access_token,2、请求头 Authorization Bearer access_token +SaOAuth2Util.currentAccessToken(); + +// 数据读取:从当前请求对象中读取 client_token,并查询到 ClientTokenModel 信息,无效 client_token 抛出异常 +// 1、请求参数 client_token,2、请求头 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) diff --git a/sa-token-plugin/sa-token-oauth2/src/main/java/cn/dev33/satoken/oauth2/data/resolver/SaOAuth2DataResolver.java b/sa-token-plugin/sa-token-oauth2/src/main/java/cn/dev33/satoken/oauth2/data/resolver/SaOAuth2DataResolver.java index 6514b449..d5445b4a 100644 --- a/sa-token-plugin/sa-token-oauth2/src/main/java/cn/dev33/satoken/oauth2/data/resolver/SaOAuth2DataResolver.java +++ b/sa-token-plugin/sa-token-oauth2/src/main/java/cn/dev33/satoken/oauth2/data/resolver/SaOAuth2DataResolver.java @@ -43,7 +43,8 @@ public interface SaOAuth2DataResolver { ClientIdAndSecretModel readClientIdAndSecret(SaRequest request); /** - * 数据读取:从请求对象中读取 AccessToken + * 数据读取:从请求对象中读取 AccessToken,获取不到返回 null + *
1、请求参数 access_token,2、请求头 Authorization Bearer access_token * * @param request / * @return / @@ -51,7 +52,8 @@ public interface SaOAuth2DataResolver { String readAccessToken(SaRequest request); /** - * 数据读取:从请求对象中读取 ClientToken + * 数据读取:从请求对象中读取 ClientToken,获取不到返回 null + *
1、请求参数 client_token,2、请求头 Authorization Bearer client_token * * @param request / * @return / diff --git a/sa-token-plugin/sa-token-oauth2/src/main/java/cn/dev33/satoken/oauth2/data/resolver/SaOAuth2DataResolverDefaultImpl.java b/sa-token-plugin/sa-token-oauth2/src/main/java/cn/dev33/satoken/oauth2/data/resolver/SaOAuth2DataResolverDefaultImpl.java index 596db101..423d9e0c 100644 --- a/sa-token-plugin/sa-token-oauth2/src/main/java/cn/dev33/satoken/oauth2/data/resolver/SaOAuth2DataResolverDefaultImpl.java +++ b/sa-token-plugin/sa-token-oauth2/src/main/java/cn/dev33/satoken/oauth2/data/resolver/SaOAuth2DataResolverDefaultImpl.java @@ -73,7 +73,8 @@ public class SaOAuth2DataResolverDefaultImpl implements SaOAuth2DataResolver { } /** - * 数据读取:从请求对象中读取 AccessToken,获取不到返回 null + * 数据读取:从请求对象中读取 AccessToken,获取不到返回 null,获取不到返回 null + *
1、请求参数 access_token,2、请求头 Authorization Bearer access_token */ @Override public String readAccessToken(SaRequest request) { @@ -101,6 +102,7 @@ public class SaOAuth2DataResolverDefaultImpl implements SaOAuth2DataResolver { /** * 数据读取:从请求对象中读取 ClientToken,获取不到返回 null + *
1、请求参数 client_token,2、请求头 Authorization Bearer client_token */ @Override public String readClientToken(SaRequest request) { diff --git a/sa-token-plugin/sa-token-oauth2/src/main/java/cn/dev33/satoken/oauth2/template/SaOAuth2Template.java b/sa-token-plugin/sa-token-oauth2/src/main/java/cn/dev33/satoken/oauth2/template/SaOAuth2Template.java index a4b5c3e1..54cf1e87 100644 --- a/sa-token-plugin/sa-token-oauth2/src/main/java/cn/dev33/satoken/oauth2/template/SaOAuth2Template.java +++ b/sa-token-plugin/sa-token-oauth2/src/main/java/cn/dev33/satoken/oauth2/template/SaOAuth2Template.java @@ -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 抛出异常 + *
1、请求参数 access_token,2、请求头 Authorization Bearer access_token + */ + public AccessTokenModel currentAccessToken() { + String accessToken = SaOAuth2Manager.getDataResolver().readAccessToken(SaHolder.getRequest()); + return checkAccessToken(accessToken); + } + + /** + * 数据读取:从当前请求对象中读取 client_token,并查询到 ClientTokenModel 信息,无效 client_token 抛出异常 + *
1、请求参数 client_token,2、请求头 Authorization Bearer client_token + */ + public ClientTokenModel currentClientToken() { + String clientToken = SaOAuth2Manager.getDataResolver().readClientToken(SaHolder.getRequest()); + return checkClientToken(clientToken); + } + + // ----------------- 包装其它 bean 的方法 ----------------- /** diff --git a/sa-token-plugin/sa-token-oauth2/src/main/java/cn/dev33/satoken/oauth2/template/SaOAuth2Util.java b/sa-token-plugin/sa-token-oauth2/src/main/java/cn/dev33/satoken/oauth2/template/SaOAuth2Util.java index 61ad461e..bceb34af 100644 --- a/sa-token-plugin/sa-token-oauth2/src/main/java/cn/dev33/satoken/oauth2/template/SaOAuth2Util.java +++ b/sa-token-plugin/sa-token-oauth2/src/main/java/cn/dev33/satoken/oauth2/template/SaOAuth2Util.java @@ -378,4 +378,23 @@ public class SaOAuth2Util { SaOAuth2Manager.getTemplate().revokeClientTokenByIndex(clientId); } + + // ------------------- 请求查询 + + /** + * 数据读取:从当前请求对象中读取 access_token,并查询到 AccessTokenModel 信息,无效 access_token 抛出异常 + *
1、请求参数 access_token,2、请求头 Authorization Bearer access_token + */ + public static AccessTokenModel currentAccessToken() { + return SaOAuth2Manager.getTemplate().currentAccessToken(); + } + + /** + * 数据读取:从当前请求对象中读取 client_token,并查询到 ClientTokenModel 信息,无效 client_token 抛出异常 + *
1、请求参数 client_token,2、请求头 Authorization Bearer client_token + */ + public static ClientTokenModel currentClientToken() { + return SaOAuth2Manager.getTemplate().currentClientToken(); + } + }