From 57cb7fb0d10750c685383031e86f1148a5c9597e Mon Sep 17 00:00:00 2001 From: "Yangkai.Shen" <237497819@qq.com> Date: Fri, 2 Aug 2019 11:15:37 +0800 Subject: [PATCH 1/5] =?UTF-8?q?:sparkles:=20=E6=8A=BD=E5=8F=96=20cache=20?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=EF=BC=8C=E6=96=B9=E4=BE=BF=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E8=87=AA=E8=A1=8C=E9=9B=86=E6=88=90=20cache?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zhyd/oauth/cache/AuthCacheScheduler.java | 3 + .../oauth/cache/AuthDefaultStateCache.java | 65 +++++++++++++++++++ .../me/zhyd/oauth/cache/AuthStateCache.java | 29 ++++----- .../oauth/request/AuthDefaultRequest.java | 9 ++- 4 files changed, 87 insertions(+), 19 deletions(-) create mode 100644 src/main/java/me/zhyd/oauth/cache/AuthDefaultStateCache.java diff --git a/src/main/java/me/zhyd/oauth/cache/AuthCacheScheduler.java b/src/main/java/me/zhyd/oauth/cache/AuthCacheScheduler.java index fbdfa88..1cf7c01 100644 --- a/src/main/java/me/zhyd/oauth/cache/AuthCacheScheduler.java +++ b/src/main/java/me/zhyd/oauth/cache/AuthCacheScheduler.java @@ -13,6 +13,9 @@ import java.util.concurrent.atomic.AtomicInteger; */ public enum AuthCacheScheduler { + /** + * 当前实例 + */ INSTANCE; private AtomicInteger cacheTaskNumber = new AtomicInteger(1); diff --git a/src/main/java/me/zhyd/oauth/cache/AuthDefaultStateCache.java b/src/main/java/me/zhyd/oauth/cache/AuthDefaultStateCache.java new file mode 100644 index 0000000..eb0fe83 --- /dev/null +++ b/src/main/java/me/zhyd/oauth/cache/AuthDefaultStateCache.java @@ -0,0 +1,65 @@ +package me.zhyd.oauth.cache; + +/** + * @author yadong.zhang (yadong.zhang0415(a)gmail.com) + * @version 1.0 + * @since 1.8 + */ +public enum AuthDefaultStateCache implements AuthStateCache { + + /** + * 当前实例 + */ + INSTANCE; + + private AuthCache authCache; + + AuthDefaultStateCache() { + authCache = new AuthDefaultCache(); + } + + /** + * 存入缓存 + * + * @param key 缓存key + * @param value 缓存内容 + */ + @Override + public void cache(String key, String value) { + authCache.set(key, value); + } + + /** + * 存入缓存 + * + * @param key 缓存key + * @param value 缓存内容 + * @param timeout 指定缓存过期时间(毫秒) + */ + @Override + public void cache(String key, String value, long timeout) { + authCache.set(key, value, timeout); + } + + /** + * 获取缓存内容 + * + * @param key 缓存key + * @return 缓存内容 + */ + @Override + public String get(String key) { + return authCache.get(key); + } + + /** + * 是否存在key,如果对应key的value值已过期,也返回false + * + * @param key 缓存key + * @return true:存在key,并且value没过期;false:key不存在或者已过期 + */ + @Override + public boolean containsKey(String key) { + return authCache.containsKey(key); + } +} diff --git a/src/main/java/me/zhyd/oauth/cache/AuthStateCache.java b/src/main/java/me/zhyd/oauth/cache/AuthStateCache.java index e667829..77a11e2 100644 --- a/src/main/java/me/zhyd/oauth/cache/AuthStateCache.java +++ b/src/main/java/me/zhyd/oauth/cache/AuthStateCache.java @@ -1,22 +1,21 @@ package me.zhyd.oauth.cache; /** - * @author yadong.zhang (yadong.zhang0415(a)gmail.com) - * @version 1.0 - * @since 1.8 + *

+ * State缓存接口,方便用户扩展 + *

+ * + * @author yangkai.shen + * @date Created in 2019-08-02 10:55 */ -public class AuthStateCache { - private static AuthCache authCache = new AuthDefaultCache(); - +public interface AuthStateCache { /** * 存入缓存 * * @param key 缓存key * @param value 缓存内容 */ - public static void cache(String key, String value) { - authCache.set(key, value); - } + void cache(String key, String value); /** * 存入缓存 @@ -25,9 +24,7 @@ public class AuthStateCache { * @param value 缓存内容 * @param timeout 指定缓存过期时间(毫秒) */ - public static void cache(String key, String value, long timeout) { - authCache.set(key, value, timeout); - } + void cache(String key, String value, long timeout); /** * 获取缓存内容 @@ -35,9 +32,7 @@ public class AuthStateCache { * @param key 缓存key * @return 缓存内容 */ - public static String get(String key) { - return authCache.get(key); - } + String get(String key); /** * 是否存在key,如果对应key的value值已过期,也返回false @@ -45,7 +40,5 @@ public class AuthStateCache { * @param key 缓存key * @return true:存在key,并且value没过期;false:key不存在或者已过期 */ - public static boolean containsKey(String key) { - return authCache.containsKey(key); - } + boolean containsKey(String key); } diff --git a/src/main/java/me/zhyd/oauth/request/AuthDefaultRequest.java b/src/main/java/me/zhyd/oauth/request/AuthDefaultRequest.java index 401c8b4..da7028c 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthDefaultRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthDefaultRequest.java @@ -3,6 +3,7 @@ package me.zhyd.oauth.request; import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpResponse; import lombok.extern.slf4j.Slf4j; +import me.zhyd.oauth.cache.AuthDefaultStateCache; import me.zhyd.oauth.cache.AuthStateCache; import me.zhyd.oauth.config.AuthConfig; import me.zhyd.oauth.config.AuthSource; @@ -28,10 +29,16 @@ import me.zhyd.oauth.utils.UuidUtils; public abstract class AuthDefaultRequest implements AuthRequest { protected AuthConfig config; protected AuthSource source; + protected AuthStateCache authStateCache; public AuthDefaultRequest(AuthConfig config, AuthSource source) { + this(config, source, AuthDefaultStateCache.INSTANCE); + } + + public AuthDefaultRequest(AuthConfig config, AuthSource source, AuthStateCache authStateCache) { this.config = config; this.source = source; + this.authStateCache = authStateCache; if (!AuthChecker.isSupportedAuth(config, source)) { throw new AuthException(AuthResponseStatus.PARAMETER_INCOMPLETE); } @@ -189,7 +196,7 @@ public abstract class AuthDefaultRequest implements AuthRequest { state = UuidUtils.getUUID(); } // 缓存state - AuthStateCache.cache(state, state); + authStateCache.cache(state, state); return state; } From 909702e4da0eacea59e7be9e4022803d5b4b7129 Mon Sep 17 00:00:00 2001 From: "Yangkai.Shen" <237497819@qq.com> Date: Fri, 2 Aug 2019 11:22:46 +0800 Subject: [PATCH 2/5] =?UTF-8?q?:heavy=5Fplus=5Fsign:=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E7=A7=81=E6=9C=8D=E4=BB=93=E5=BA=93=EF=BC=8C=E5=BC=80=E5=8F=91?= =?UTF-8?q?=E6=97=B6=E6=96=B9=E4=BE=BF=E5=8F=91=E5=B8=83=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 66456c8..8bea745 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ me.zhyd.oauth JustAuth - 1.9.5 + 1.9.6-SNAPSHOT JustAuth https://gitee.com/yadong.zhang/JustAuth @@ -216,5 +216,38 @@ + + + nexus + + + + org.apache.maven.plugins + maven-gpg-plugin + ${maven-gpg-version} + + + verify + + sign + + + + + + + + + releases + Nexus Release Repository + https://nexus.xkcoding.com/repository/maven-releases/ + + + snapshots + Nexus Snapshot Repository + https://nexus.xkcoding.com/repository/maven-snapshots/ + + + From bed01eef6df794af23b5817c67754b560cf216f7 Mon Sep 17 00:00:00 2001 From: "Yangkai.Shen" <237497819@qq.com> Date: Fri, 2 Aug 2019 14:19:42 +0800 Subject: [PATCH 3/5] =?UTF-8?q?:recycle:=20=E6=8A=BD=E5=8F=96=20state=20?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../oauth/request/AuthDefaultRequest.java | 22 ++++++++++++++----- .../java/me/zhyd/oauth/utils/AuthChecker.java | 11 ---------- 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/src/main/java/me/zhyd/oauth/request/AuthDefaultRequest.java b/src/main/java/me/zhyd/oauth/request/AuthDefaultRequest.java index da7028c..908b3b5 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthDefaultRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthDefaultRequest.java @@ -76,7 +76,7 @@ public abstract class AuthDefaultRequest implements AuthRequest { public AuthResponse login(AuthCallback authCallback) { try { AuthChecker.checkCode(source == AuthSource.ALIPAY ? authCallback.getAuth_code() : authCallback.getCode()); - AuthChecker.checkState(authCallback.getState()); + this.checkState(authCallback.getState()); AuthToken authToken = this.getAccessToken(authCallback); AuthUser user = this.getUserInfo(authToken); @@ -158,12 +158,12 @@ public abstract class AuthDefaultRequest implements AuthRequest { protected String refreshTokenUrl(String refreshToken) { return UrlBuilder.fromBaseUrl(source.refresh()) .queryParam("client_id", config.getClientId()) - .queryParam("client_secret", config.getClientSecret()) - .queryParam("refresh_token", refreshToken) + .queryParam("client_secret", config.getClientSecret()) + .queryParam("refresh_token", refreshToken) .queryParam("grant_type", "refresh_token") .queryParam("redirect_uri", config.getRedirectUri()) - .build(); - } + .build(); +} /** * 返回获取userInfo的url @@ -261,4 +261,16 @@ public abstract class AuthDefaultRequest implements AuthRequest { protected HttpResponse doGetRevoke(AuthToken authToken) { return HttpRequest.get(revokeUrl(authToken)).execute(); } + + + /** + * 校验回调传回的state + * + * @param state {@code state}一定不为空 + */ + protected void checkState(String state) { + if (StringUtils.isEmpty(state) || !authStateCache.containsKey(state)) { + throw new AuthException(AuthResponseStatus.ILLEGAL_REQUEST); + } + } } diff --git a/src/main/java/me/zhyd/oauth/utils/AuthChecker.java b/src/main/java/me/zhyd/oauth/utils/AuthChecker.java index b5942c1..2b3b1de 100644 --- a/src/main/java/me/zhyd/oauth/utils/AuthChecker.java +++ b/src/main/java/me/zhyd/oauth/utils/AuthChecker.java @@ -66,15 +66,4 @@ public class AuthChecker { throw new AuthException(AuthResponseStatus.ILLEGAL_CODE); } } - - /** - * 校验回调传回的state - * - * @param state {@code state}一定不为空 - */ - public static void checkState(String state) { - if (StringUtils.isEmpty(state) || !AuthStateCache.containsKey(state)) { - throw new AuthException(AuthResponseStatus.ILLEGAL_REQUEST); - } - } } From c1f9e96a921891465d471bb177b4a5d3845ae703 Mon Sep 17 00:00:00 2001 From: "Yangkai.Shen" <237497819@qq.com> Date: Fri, 2 Aug 2019 14:21:20 +0800 Subject: [PATCH 4/5] =?UTF-8?q?:white=5Fcheck=5Fmark:=20=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=20cache=20=E6=B5=8B=E8=AF=95=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../me/zhyd/oauth/cache/AuthStateCacheTest.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/test/java/me/zhyd/oauth/cache/AuthStateCacheTest.java b/src/test/java/me/zhyd/oauth/cache/AuthStateCacheTest.java index 9c6e1e0..9ebb87c 100644 --- a/src/test/java/me/zhyd/oauth/cache/AuthStateCacheTest.java +++ b/src/test/java/me/zhyd/oauth/cache/AuthStateCacheTest.java @@ -9,24 +9,24 @@ public class AuthStateCacheTest { @Test public void cache1() throws InterruptedException { - AuthStateCache.cache("key", "value"); - Assert.assertEquals(AuthStateCache.get("key"), "value"); + AuthDefaultStateCache.INSTANCE.cache("key", "value"); + Assert.assertEquals(AuthDefaultStateCache.INSTANCE.get("key"), "value"); TimeUnit.MILLISECONDS.sleep(4); - Assert.assertEquals(AuthStateCache.get("key"), "value"); + Assert.assertEquals(AuthDefaultStateCache.INSTANCE.get("key"), "value"); } @Test public void cache2() throws InterruptedException { - AuthStateCache.cache("key", "value", 10); - Assert.assertEquals(AuthStateCache.get("key"), "value"); + AuthDefaultStateCache.INSTANCE.cache("key", "value", 10); + Assert.assertEquals(AuthDefaultStateCache.INSTANCE.get("key"), "value"); // 没过期 TimeUnit.MILLISECONDS.sleep(5); - Assert.assertEquals(AuthStateCache.get("key"), "value"); + Assert.assertEquals(AuthDefaultStateCache.INSTANCE.get("key"), "value"); // 过期 TimeUnit.MILLISECONDS.sleep(6); - Assert.assertNull(AuthStateCache.get("key")); + Assert.assertNull(AuthDefaultStateCache.INSTANCE.get("key")); } } From 3e8c475d3f06bb4001f452be232054f466cab41f Mon Sep 17 00:00:00 2001 From: "Yangkai.Shen" <237497819@qq.com> Date: Fri, 2 Aug 2019 14:57:13 +0800 Subject: [PATCH 5/5] =?UTF-8?q?:recycle:=20=E6=B7=BB=E5=8A=A0=20Request=20?= =?UTF-8?q?=E7=9A=84=20AuthStateCache=20=E6=9E=84=E9=80=A0=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 6 ++---- .../me/zhyd/oauth/request/AuthAlipayRequest.java | 7 +++++++ .../me/zhyd/oauth/request/AuthBaiduRequest.java | 10 +++++++++- .../me/zhyd/oauth/request/AuthCodingRequest.java | 5 +++++ .../me/zhyd/oauth/request/AuthCsdnRequest.java | 5 +++++ .../zhyd/oauth/request/AuthDingTalkRequest.java | 5 +++++ .../me/zhyd/oauth/request/AuthDouyinRequest.java | 10 +++++++++- .../zhyd/oauth/request/AuthFacebookRequest.java | 5 +++++ .../me/zhyd/oauth/request/AuthGiteeRequest.java | 5 +++++ .../me/zhyd/oauth/request/AuthGithubRequest.java | 5 +++++ .../me/zhyd/oauth/request/AuthGoogleRequest.java | 5 +++++ .../zhyd/oauth/request/AuthLinkedinRequest.java | 10 +++++++++- .../java/me/zhyd/oauth/request/AuthMiRequest.java | 10 +++++++++- .../zhyd/oauth/request/AuthMicrosoftRequest.java | 10 +++++++++- .../me/zhyd/oauth/request/AuthOschinaRequest.java | 5 +++++ .../zhyd/oauth/request/AuthPinterestRequest.java | 5 +++++ .../java/me/zhyd/oauth/request/AuthQqRequest.java | 15 ++++++++++----- .../me/zhyd/oauth/request/AuthRenrenRequest.java | 10 +++++++++- .../oauth/request/AuthStackOverflowRequest.java | 5 +++++ .../me/zhyd/oauth/request/AuthTaobaoRequest.java | 5 +++++ .../zhyd/oauth/request/AuthTeambitionRequest.java | 10 +++++++++- .../oauth/request/AuthTencentCloudRequest.java | 5 +++++ .../me/zhyd/oauth/request/AuthToutiaoRequest.java | 8 ++++++-- .../me/zhyd/oauth/request/AuthWeChatRequest.java | 10 +++++++++- .../me/zhyd/oauth/request/AuthWeiboRequest.java | 5 +++++ 25 files changed, 162 insertions(+), 19 deletions(-) diff --git a/pom.xml b/pom.xml index 8bea745..9628bb8 100644 --- a/pom.xml +++ b/pom.xml @@ -238,13 +238,11 @@ - releases - Nexus Release Repository + xkcoding-nexus https://nexus.xkcoding.com/repository/maven-releases/ - snapshots - Nexus Snapshot Repository + xkcoding-nexus https://nexus.xkcoding.com/repository/maven-snapshots/ diff --git a/src/main/java/me/zhyd/oauth/request/AuthAlipayRequest.java b/src/main/java/me/zhyd/oauth/request/AuthAlipayRequest.java index 5f8fbbf..bbae6b3 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthAlipayRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthAlipayRequest.java @@ -7,6 +7,7 @@ import com.alipay.api.request.AlipaySystemOauthTokenRequest; import com.alipay.api.request.AlipayUserInfoShareRequest; import com.alipay.api.response.AlipaySystemOauthTokenResponse; import com.alipay.api.response.AlipayUserInfoShareResponse; +import me.zhyd.oauth.cache.AuthStateCache; import me.zhyd.oauth.config.AuthConfig; import me.zhyd.oauth.config.AuthSource; import me.zhyd.oauth.enums.AuthUserGender; @@ -33,6 +34,12 @@ public class AuthAlipayRequest extends AuthDefaultRequest { .getAlipayPublicKey(), "RSA2"); } + public AuthAlipayRequest(AuthConfig config, AuthStateCache authStateCache) { + super(config, AuthSource.ALIPAY, authStateCache); + this.alipayClient = new DefaultAlipayClient(AuthSource.ALIPAY.accessToken(), config.getClientId(), config.getClientSecret(), "json", "UTF-8", config + .getAlipayPublicKey(), "RSA2"); + } + @Override protected AuthToken getAccessToken(AuthCallback authCallback) { AlipaySystemOauthTokenRequest request = new AlipaySystemOauthTokenRequest(); diff --git a/src/main/java/me/zhyd/oauth/request/AuthBaiduRequest.java b/src/main/java/me/zhyd/oauth/request/AuthBaiduRequest.java index 29e64bf..c0fd9f4 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthBaiduRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthBaiduRequest.java @@ -3,12 +3,16 @@ package me.zhyd.oauth.request; import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpResponse; import com.alibaba.fastjson.JSONObject; +import me.zhyd.oauth.cache.AuthStateCache; import me.zhyd.oauth.config.AuthConfig; import me.zhyd.oauth.config.AuthSource; import me.zhyd.oauth.enums.AuthResponseStatus; import me.zhyd.oauth.enums.AuthUserGender; import me.zhyd.oauth.exception.AuthException; -import me.zhyd.oauth.model.*; +import me.zhyd.oauth.model.AuthCallback; +import me.zhyd.oauth.model.AuthResponse; +import me.zhyd.oauth.model.AuthToken; +import me.zhyd.oauth.model.AuthUser; import me.zhyd.oauth.utils.StringUtils; import me.zhyd.oauth.utils.UrlBuilder; @@ -24,6 +28,10 @@ public class AuthBaiduRequest extends AuthDefaultRequest { super(config, AuthSource.BAIDU); } + public AuthBaiduRequest(AuthConfig config, AuthStateCache authStateCache) { + super(config, AuthSource.BAIDU, authStateCache); + } + @Override protected AuthToken getAccessToken(AuthCallback authCallback) { HttpResponse response = doPostAuthorizationCode(authCallback.getCode()); diff --git a/src/main/java/me/zhyd/oauth/request/AuthCodingRequest.java b/src/main/java/me/zhyd/oauth/request/AuthCodingRequest.java index 0ff5241..20b17a8 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthCodingRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthCodingRequest.java @@ -2,6 +2,7 @@ package me.zhyd.oauth.request; import cn.hutool.http.HttpResponse; import com.alibaba.fastjson.JSONObject; +import me.zhyd.oauth.cache.AuthStateCache; import me.zhyd.oauth.config.AuthConfig; import me.zhyd.oauth.config.AuthSource; import me.zhyd.oauth.enums.AuthUserGender; @@ -23,6 +24,10 @@ public class AuthCodingRequest extends AuthDefaultRequest { super(config, AuthSource.CODING); } + public AuthCodingRequest(AuthConfig config, AuthStateCache authStateCache) { + super(config, AuthSource.CODING, authStateCache); + } + @Override protected AuthToken getAccessToken(AuthCallback authCallback) { HttpResponse response = doGetAuthorizationCode(authCallback.getCode()); diff --git a/src/main/java/me/zhyd/oauth/request/AuthCsdnRequest.java b/src/main/java/me/zhyd/oauth/request/AuthCsdnRequest.java index a6c3776..1ad85d8 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthCsdnRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthCsdnRequest.java @@ -2,6 +2,7 @@ package me.zhyd.oauth.request; import cn.hutool.http.HttpResponse; import com.alibaba.fastjson.JSONObject; +import me.zhyd.oauth.cache.AuthStateCache; import me.zhyd.oauth.config.AuthConfig; import me.zhyd.oauth.config.AuthSource; import me.zhyd.oauth.enums.AuthUserGender; @@ -23,6 +24,10 @@ public class AuthCsdnRequest extends AuthDefaultRequest { super(config, AuthSource.CSDN); } + public AuthCsdnRequest(AuthConfig config, AuthStateCache authStateCache) { + super(config, AuthSource.CSDN, authStateCache); + } + @Override protected AuthToken getAccessToken(AuthCallback authCallback) { HttpResponse response = doPostAuthorizationCode(authCallback.getCode()); diff --git a/src/main/java/me/zhyd/oauth/request/AuthDingTalkRequest.java b/src/main/java/me/zhyd/oauth/request/AuthDingTalkRequest.java index b01eea5..1779975 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthDingTalkRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthDingTalkRequest.java @@ -4,6 +4,7 @@ import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpResponse; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import me.zhyd.oauth.cache.AuthStateCache; import me.zhyd.oauth.config.AuthConfig; import me.zhyd.oauth.config.AuthSource; import me.zhyd.oauth.enums.AuthUserGender; @@ -26,6 +27,10 @@ public class AuthDingTalkRequest extends AuthDefaultRequest { super(config, AuthSource.DINGTALK); } + public AuthDingTalkRequest(AuthConfig config, AuthStateCache authStateCache) { + super(config, AuthSource.DINGTALK, authStateCache); + } + @Override protected AuthToken getAccessToken(AuthCallback authCallback) { return AuthToken.builder().accessCode(authCallback.getCode()).build(); diff --git a/src/main/java/me/zhyd/oauth/request/AuthDouyinRequest.java b/src/main/java/me/zhyd/oauth/request/AuthDouyinRequest.java index cd17db9..916964a 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthDouyinRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthDouyinRequest.java @@ -3,12 +3,16 @@ package me.zhyd.oauth.request; import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpResponse; import com.alibaba.fastjson.JSONObject; +import me.zhyd.oauth.cache.AuthStateCache; import me.zhyd.oauth.config.AuthConfig; import me.zhyd.oauth.config.AuthSource; import me.zhyd.oauth.enums.AuthResponseStatus; import me.zhyd.oauth.enums.AuthUserGender; import me.zhyd.oauth.exception.AuthException; -import me.zhyd.oauth.model.*; +import me.zhyd.oauth.model.AuthCallback; +import me.zhyd.oauth.model.AuthResponse; +import me.zhyd.oauth.model.AuthToken; +import me.zhyd.oauth.model.AuthUser; import me.zhyd.oauth.utils.UrlBuilder; @@ -24,6 +28,10 @@ public class AuthDouyinRequest extends AuthDefaultRequest { super(config, AuthSource.DOUYIN); } + public AuthDouyinRequest(AuthConfig config, AuthStateCache authStateCache) { + super(config, AuthSource.DOUYIN, authStateCache); + } + @Override protected AuthToken getAccessToken(AuthCallback authCallback) { return this.getToken(accessTokenUrl(authCallback.getCode())); diff --git a/src/main/java/me/zhyd/oauth/request/AuthFacebookRequest.java b/src/main/java/me/zhyd/oauth/request/AuthFacebookRequest.java index 96e0463..1e284ee 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthFacebookRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthFacebookRequest.java @@ -2,6 +2,7 @@ package me.zhyd.oauth.request; import cn.hutool.http.HttpResponse; import com.alibaba.fastjson.JSONObject; +import me.zhyd.oauth.cache.AuthStateCache; import me.zhyd.oauth.config.AuthConfig; import me.zhyd.oauth.config.AuthSource; import me.zhyd.oauth.enums.AuthUserGender; @@ -23,6 +24,10 @@ public class AuthFacebookRequest extends AuthDefaultRequest { super(config, AuthSource.FACEBOOK); } + public AuthFacebookRequest(AuthConfig config, AuthStateCache authStateCache) { + super(config, AuthSource.FACEBOOK, authStateCache); + } + @Override protected AuthToken getAccessToken(AuthCallback authCallback) { HttpResponse response = doPostAuthorizationCode(authCallback.getCode()); diff --git a/src/main/java/me/zhyd/oauth/request/AuthGiteeRequest.java b/src/main/java/me/zhyd/oauth/request/AuthGiteeRequest.java index 819e96c..d65aa36 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthGiteeRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthGiteeRequest.java @@ -2,6 +2,7 @@ package me.zhyd.oauth.request; import cn.hutool.http.HttpResponse; import com.alibaba.fastjson.JSONObject; +import me.zhyd.oauth.cache.AuthStateCache; import me.zhyd.oauth.config.AuthConfig; import me.zhyd.oauth.config.AuthSource; import me.zhyd.oauth.enums.AuthUserGender; @@ -22,6 +23,10 @@ public class AuthGiteeRequest extends AuthDefaultRequest { super(config, AuthSource.GITEE); } + public AuthGiteeRequest(AuthConfig config, AuthStateCache authStateCache) { + super(config, AuthSource.GITEE, authStateCache); + } + @Override protected AuthToken getAccessToken(AuthCallback authCallback) { HttpResponse response = doPostAuthorizationCode(authCallback.getCode()); diff --git a/src/main/java/me/zhyd/oauth/request/AuthGithubRequest.java b/src/main/java/me/zhyd/oauth/request/AuthGithubRequest.java index 00d9879..ab46afd 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthGithubRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthGithubRequest.java @@ -2,6 +2,7 @@ package me.zhyd.oauth.request; import cn.hutool.http.HttpResponse; import com.alibaba.fastjson.JSONObject; +import me.zhyd.oauth.cache.AuthStateCache; import me.zhyd.oauth.config.AuthConfig; import me.zhyd.oauth.config.AuthSource; import me.zhyd.oauth.enums.AuthUserGender; @@ -25,6 +26,10 @@ public class AuthGithubRequest extends AuthDefaultRequest { super(config, AuthSource.GITHUB); } + public AuthGithubRequest(AuthConfig config, AuthStateCache authStateCache) { + super(config, AuthSource.GITHUB, authStateCache); + } + @Override protected AuthToken getAccessToken(AuthCallback authCallback) { HttpResponse response = doPostAuthorizationCode(authCallback.getCode()); diff --git a/src/main/java/me/zhyd/oauth/request/AuthGoogleRequest.java b/src/main/java/me/zhyd/oauth/request/AuthGoogleRequest.java index 8af2c41..345b719 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthGoogleRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthGoogleRequest.java @@ -3,6 +3,7 @@ package me.zhyd.oauth.request; import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpResponse; import com.alibaba.fastjson.JSONObject; +import me.zhyd.oauth.cache.AuthStateCache; import me.zhyd.oauth.config.AuthConfig; import me.zhyd.oauth.config.AuthSource; import me.zhyd.oauth.enums.AuthUserGender; @@ -24,6 +25,10 @@ public class AuthGoogleRequest extends AuthDefaultRequest { super(config, AuthSource.GOOGLE); } + public AuthGoogleRequest(AuthConfig config, AuthStateCache authStateCache) { + super(config, AuthSource.GOOGLE, authStateCache); + } + @Override protected AuthToken getAccessToken(AuthCallback authCallback) { HttpResponse response = doPostAuthorizationCode(authCallback.getCode()); diff --git a/src/main/java/me/zhyd/oauth/request/AuthLinkedinRequest.java b/src/main/java/me/zhyd/oauth/request/AuthLinkedinRequest.java index 8095983..f801f06 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthLinkedinRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthLinkedinRequest.java @@ -5,12 +5,16 @@ import cn.hutool.http.HttpResponse; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONPath; +import me.zhyd.oauth.cache.AuthStateCache; import me.zhyd.oauth.config.AuthConfig; import me.zhyd.oauth.config.AuthSource; import me.zhyd.oauth.enums.AuthResponseStatus; import me.zhyd.oauth.enums.AuthUserGender; import me.zhyd.oauth.exception.AuthException; -import me.zhyd.oauth.model.*; +import me.zhyd.oauth.model.AuthCallback; +import me.zhyd.oauth.model.AuthResponse; +import me.zhyd.oauth.model.AuthToken; +import me.zhyd.oauth.model.AuthUser; import me.zhyd.oauth.utils.StringUtils; import me.zhyd.oauth.utils.UrlBuilder; @@ -27,6 +31,10 @@ public class AuthLinkedinRequest extends AuthDefaultRequest { super(config, AuthSource.LINKEDIN); } + public AuthLinkedinRequest(AuthConfig config, AuthStateCache authStateCache) { + super(config, AuthSource.LINKEDIN, authStateCache); + } + @Override protected AuthToken getAccessToken(AuthCallback authCallback) { return this.getToken(accessTokenUrl(authCallback.getCode())); diff --git a/src/main/java/me/zhyd/oauth/request/AuthMiRequest.java b/src/main/java/me/zhyd/oauth/request/AuthMiRequest.java index 46f13c5..4ea654f 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthMiRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthMiRequest.java @@ -5,12 +5,16 @@ import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpResponse; import com.alibaba.fastjson.JSONObject; import lombok.extern.slf4j.Slf4j; +import me.zhyd.oauth.cache.AuthStateCache; import me.zhyd.oauth.config.AuthConfig; import me.zhyd.oauth.config.AuthSource; import me.zhyd.oauth.enums.AuthResponseStatus; import me.zhyd.oauth.enums.AuthUserGender; import me.zhyd.oauth.exception.AuthException; -import me.zhyd.oauth.model.*; +import me.zhyd.oauth.model.AuthCallback; +import me.zhyd.oauth.model.AuthResponse; +import me.zhyd.oauth.model.AuthToken; +import me.zhyd.oauth.model.AuthUser; import me.zhyd.oauth.utils.UrlBuilder; import java.text.MessageFormat; @@ -29,6 +33,10 @@ public class AuthMiRequest extends AuthDefaultRequest { super(config, AuthSource.MI); } + public AuthMiRequest(AuthConfig config, AuthStateCache authStateCache) { + super(config, AuthSource.MI, authStateCache); + } + @Override protected AuthToken getAccessToken(AuthCallback authCallback) { return getToken(accessTokenUrl(authCallback.getCode())); diff --git a/src/main/java/me/zhyd/oauth/request/AuthMicrosoftRequest.java b/src/main/java/me/zhyd/oauth/request/AuthMicrosoftRequest.java index 69aa58a..60d901d 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthMicrosoftRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthMicrosoftRequest.java @@ -3,12 +3,16 @@ package me.zhyd.oauth.request; import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpResponse; import com.alibaba.fastjson.JSONObject; +import me.zhyd.oauth.cache.AuthStateCache; import me.zhyd.oauth.config.AuthConfig; import me.zhyd.oauth.config.AuthSource; import me.zhyd.oauth.enums.AuthResponseStatus; import me.zhyd.oauth.enums.AuthUserGender; import me.zhyd.oauth.exception.AuthException; -import me.zhyd.oauth.model.*; +import me.zhyd.oauth.model.AuthCallback; +import me.zhyd.oauth.model.AuthResponse; +import me.zhyd.oauth.model.AuthToken; +import me.zhyd.oauth.model.AuthUser; import me.zhyd.oauth.utils.UrlBuilder; import static me.zhyd.oauth.utils.GlobalAuthUtil.parseQueryToMap; @@ -24,6 +28,10 @@ public class AuthMicrosoftRequest extends AuthDefaultRequest { super(config, AuthSource.MICROSOFT); } + public AuthMicrosoftRequest(AuthConfig config, AuthStateCache authStateCache) { + super(config, AuthSource.MICROSOFT, authStateCache); + } + @Override protected AuthToken getAccessToken(AuthCallback authCallback) { return getToken(accessTokenUrl(authCallback.getCode())); diff --git a/src/main/java/me/zhyd/oauth/request/AuthOschinaRequest.java b/src/main/java/me/zhyd/oauth/request/AuthOschinaRequest.java index c67819d..205f2a8 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthOschinaRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthOschinaRequest.java @@ -2,6 +2,7 @@ package me.zhyd.oauth.request; import cn.hutool.http.HttpResponse; import com.alibaba.fastjson.JSONObject; +import me.zhyd.oauth.cache.AuthStateCache; import me.zhyd.oauth.config.AuthConfig; import me.zhyd.oauth.config.AuthSource; import me.zhyd.oauth.enums.AuthUserGender; @@ -23,6 +24,10 @@ public class AuthOschinaRequest extends AuthDefaultRequest { super(config, AuthSource.OSCHINA); } + public AuthOschinaRequest(AuthConfig config, AuthStateCache authStateCache) { + super(config, AuthSource.OSCHINA, authStateCache); + } + @Override protected AuthToken getAccessToken(AuthCallback authCallback) { HttpResponse response = doPostAuthorizationCode(authCallback.getCode()); diff --git a/src/main/java/me/zhyd/oauth/request/AuthPinterestRequest.java b/src/main/java/me/zhyd/oauth/request/AuthPinterestRequest.java index c537cff..52ea765 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthPinterestRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthPinterestRequest.java @@ -3,6 +3,7 @@ package me.zhyd.oauth.request; import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpResponse; import com.alibaba.fastjson.JSONObject; +import me.zhyd.oauth.cache.AuthStateCache; import me.zhyd.oauth.config.AuthConfig; import me.zhyd.oauth.enums.AuthUserGender; import me.zhyd.oauth.exception.AuthException; @@ -29,6 +30,10 @@ public class AuthPinterestRequest extends AuthDefaultRequest { super(config, PINTEREST); } + public AuthPinterestRequest(AuthConfig config, AuthStateCache authStateCache) { + super(config, PINTEREST, authStateCache); + } + @Override protected AuthToken getAccessToken(AuthCallback authCallback) { HttpResponse response = doPostAuthorizationCode(authCallback.getCode()); diff --git a/src/main/java/me/zhyd/oauth/request/AuthQqRequest.java b/src/main/java/me/zhyd/oauth/request/AuthQqRequest.java index 8fa7b1a..e47314b 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthQqRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthQqRequest.java @@ -4,12 +4,16 @@ import cn.hutool.core.util.StrUtil; import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpResponse; import com.alibaba.fastjson.JSONObject; +import me.zhyd.oauth.cache.AuthStateCache; import me.zhyd.oauth.config.AuthConfig; import me.zhyd.oauth.config.AuthSource; import me.zhyd.oauth.enums.AuthResponseStatus; import me.zhyd.oauth.enums.AuthUserGender; import me.zhyd.oauth.exception.AuthException; -import me.zhyd.oauth.model.*; +import me.zhyd.oauth.model.AuthCallback; +import me.zhyd.oauth.model.AuthResponse; +import me.zhyd.oauth.model.AuthToken; +import me.zhyd.oauth.model.AuthUser; import me.zhyd.oauth.utils.GlobalAuthUtil; import me.zhyd.oauth.utils.StringUtils; import me.zhyd.oauth.utils.UrlBuilder; @@ -28,6 +32,10 @@ public class AuthQqRequest extends AuthDefaultRequest { super(config, AuthSource.QQ); } + public AuthQqRequest(AuthConfig config, AuthStateCache authStateCache) { + super(config, AuthSource.QQ, authStateCache); + } + @Override protected AuthToken getAccessToken(AuthCallback authCallback) { HttpResponse response = doGetAuthorizationCode(authCallback.getCode()); @@ -37,10 +45,7 @@ public class AuthQqRequest extends AuthDefaultRequest { @Override public AuthResponse refresh(AuthToken authToken) { HttpResponse response = HttpRequest.get(refreshTokenUrl(authToken.getRefreshToken())).execute(); - return AuthResponse.builder() - .code(AuthResponseStatus.SUCCESS.getCode()) - .data(getAuthToken(response)) - .build(); + return AuthResponse.builder().code(AuthResponseStatus.SUCCESS.getCode()).data(getAuthToken(response)).build(); } @Override diff --git a/src/main/java/me/zhyd/oauth/request/AuthRenrenRequest.java b/src/main/java/me/zhyd/oauth/request/AuthRenrenRequest.java index 62cc116..9b05946 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthRenrenRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthRenrenRequest.java @@ -4,10 +4,14 @@ import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpResponse; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import me.zhyd.oauth.cache.AuthStateCache; import me.zhyd.oauth.config.AuthConfig; import me.zhyd.oauth.enums.AuthUserGender; import me.zhyd.oauth.exception.AuthException; -import me.zhyd.oauth.model.*; +import me.zhyd.oauth.model.AuthCallback; +import me.zhyd.oauth.model.AuthResponse; +import me.zhyd.oauth.model.AuthToken; +import me.zhyd.oauth.model.AuthUser; import me.zhyd.oauth.utils.UrlBuilder; import java.util.Objects; @@ -27,6 +31,10 @@ public class AuthRenrenRequest extends AuthDefaultRequest { super(config, RENREN); } + public AuthRenrenRequest(AuthConfig config, AuthStateCache authStateCache) { + super(config, RENREN, authStateCache); + } + @Override protected AuthToken getAccessToken(AuthCallback authCallback) { return this.getToken(accessTokenUrl(authCallback.getCode())); diff --git a/src/main/java/me/zhyd/oauth/request/AuthStackOverflowRequest.java b/src/main/java/me/zhyd/oauth/request/AuthStackOverflowRequest.java index ab48453..2b90159 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthStackOverflowRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthStackOverflowRequest.java @@ -3,6 +3,7 @@ package me.zhyd.oauth.request; import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpResponse; import com.alibaba.fastjson.JSONObject; +import me.zhyd.oauth.cache.AuthStateCache; import me.zhyd.oauth.config.AuthConfig; import me.zhyd.oauth.enums.AuthUserGender; import me.zhyd.oauth.exception.AuthException; @@ -26,6 +27,10 @@ public class AuthStackOverflowRequest extends AuthDefaultRequest { super(config, STACK_OVERFLOW); } + public AuthStackOverflowRequest(AuthConfig config, AuthStateCache authStateCache) { + super(config, STACK_OVERFLOW, authStateCache); + } + @Override protected AuthToken getAccessToken(AuthCallback authCallback) { String accessTokenUrl = accessTokenUrl(authCallback.getCode()); diff --git a/src/main/java/me/zhyd/oauth/request/AuthTaobaoRequest.java b/src/main/java/me/zhyd/oauth/request/AuthTaobaoRequest.java index 3fcdfdf..4241fed 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthTaobaoRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthTaobaoRequest.java @@ -2,6 +2,7 @@ package me.zhyd.oauth.request; import cn.hutool.http.HttpResponse; import com.alibaba.fastjson.JSONObject; +import me.zhyd.oauth.cache.AuthStateCache; import me.zhyd.oauth.config.AuthConfig; import me.zhyd.oauth.config.AuthSource; import me.zhyd.oauth.enums.AuthUserGender; @@ -24,6 +25,10 @@ public class AuthTaobaoRequest extends AuthDefaultRequest { super(config, AuthSource.TAOBAO); } + public AuthTaobaoRequest(AuthConfig config, AuthStateCache authStateCache) { + super(config, AuthSource.TAOBAO, authStateCache); + } + @Override protected AuthToken getAccessToken(AuthCallback authCallback) { return AuthToken.builder().accessCode(authCallback.getCode()).build(); diff --git a/src/main/java/me/zhyd/oauth/request/AuthTeambitionRequest.java b/src/main/java/me/zhyd/oauth/request/AuthTeambitionRequest.java index 09c8f7b..04e8f72 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthTeambitionRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthTeambitionRequest.java @@ -3,12 +3,16 @@ package me.zhyd.oauth.request; import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpResponse; import com.alibaba.fastjson.JSONObject; +import me.zhyd.oauth.cache.AuthStateCache; import me.zhyd.oauth.config.AuthConfig; import me.zhyd.oauth.config.AuthSource; import me.zhyd.oauth.enums.AuthResponseStatus; import me.zhyd.oauth.enums.AuthUserGender; import me.zhyd.oauth.exception.AuthException; -import me.zhyd.oauth.model.*; +import me.zhyd.oauth.model.AuthCallback; +import me.zhyd.oauth.model.AuthResponse; +import me.zhyd.oauth.model.AuthToken; +import me.zhyd.oauth.model.AuthUser; /** * Teambition授权登录 @@ -22,6 +26,10 @@ public class AuthTeambitionRequest extends AuthDefaultRequest { super(config, AuthSource.TEAMBITION); } + public AuthTeambitionRequest(AuthConfig config, AuthStateCache authStateCache) { + super(config, AuthSource.TEAMBITION, authStateCache); + } + /** * @param authCallback 回调返回的参数 * @return 所有信息 diff --git a/src/main/java/me/zhyd/oauth/request/AuthTencentCloudRequest.java b/src/main/java/me/zhyd/oauth/request/AuthTencentCloudRequest.java index 7401df8..c7eb3c7 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthTencentCloudRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthTencentCloudRequest.java @@ -2,6 +2,7 @@ package me.zhyd.oauth.request; import cn.hutool.http.HttpResponse; import com.alibaba.fastjson.JSONObject; +import me.zhyd.oauth.cache.AuthStateCache; import me.zhyd.oauth.config.AuthConfig; import me.zhyd.oauth.config.AuthSource; import me.zhyd.oauth.enums.AuthUserGender; @@ -23,6 +24,10 @@ public class AuthTencentCloudRequest extends AuthDefaultRequest { super(config, AuthSource.TENCENT_CLOUD); } + public AuthTencentCloudRequest(AuthConfig config, AuthStateCache authStateCache) { + super(config, AuthSource.TENCENT_CLOUD, authStateCache); + } + @Override protected AuthToken getAccessToken(AuthCallback authCallback) { HttpResponse response = doGetAuthorizationCode(authCallback.getCode()); diff --git a/src/main/java/me/zhyd/oauth/request/AuthToutiaoRequest.java b/src/main/java/me/zhyd/oauth/request/AuthToutiaoRequest.java index 89926f3..6b54016 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthToutiaoRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthToutiaoRequest.java @@ -2,6 +2,7 @@ package me.zhyd.oauth.request; import cn.hutool.http.HttpResponse; import com.alibaba.fastjson.JSONObject; +import me.zhyd.oauth.cache.AuthStateCache; import me.zhyd.oauth.config.AuthConfig; import me.zhyd.oauth.config.AuthSource; import me.zhyd.oauth.enums.AuthToutiaoErrorCode; @@ -24,6 +25,10 @@ public class AuthToutiaoRequest extends AuthDefaultRequest { super(config, AuthSource.TOUTIAO); } + public AuthToutiaoRequest(AuthConfig config, AuthStateCache authStateCache) { + super(config, AuthSource.TOUTIAO, authStateCache); + } + @Override protected AuthToken getAccessToken(AuthCallback authCallback) { HttpResponse response = doGetAuthorizationCode(authCallback.getCode()); @@ -119,8 +124,7 @@ public class AuthToutiaoRequest extends AuthDefaultRequest { */ private void checkResponse(JSONObject object) { if (object.containsKey("error_code")) { - throw new AuthException(AuthToutiaoErrorCode.getErrorCode(object.getIntValue("error_code")) - .getDesc()); + throw new AuthException(AuthToutiaoErrorCode.getErrorCode(object.getIntValue("error_code")).getDesc()); } } } diff --git a/src/main/java/me/zhyd/oauth/request/AuthWeChatRequest.java b/src/main/java/me/zhyd/oauth/request/AuthWeChatRequest.java index c10f24d..c662995 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthWeChatRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthWeChatRequest.java @@ -3,12 +3,16 @@ package me.zhyd.oauth.request; import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpResponse; import com.alibaba.fastjson.JSONObject; +import me.zhyd.oauth.cache.AuthStateCache; import me.zhyd.oauth.config.AuthConfig; import me.zhyd.oauth.config.AuthSource; import me.zhyd.oauth.enums.AuthResponseStatus; import me.zhyd.oauth.enums.AuthUserGender; import me.zhyd.oauth.exception.AuthException; -import me.zhyd.oauth.model.*; +import me.zhyd.oauth.model.AuthCallback; +import me.zhyd.oauth.model.AuthResponse; +import me.zhyd.oauth.model.AuthToken; +import me.zhyd.oauth.model.AuthUser; import me.zhyd.oauth.utils.UrlBuilder; /** @@ -22,6 +26,10 @@ public class AuthWeChatRequest extends AuthDefaultRequest { super(config, AuthSource.WECHAT); } + public AuthWeChatRequest(AuthConfig config, AuthStateCache authStateCache) { + super(config, AuthSource.WECHAT, authStateCache); + } + /** * 微信的特殊性,此时返回的信息同时包含 openid 和 access_token * diff --git a/src/main/java/me/zhyd/oauth/request/AuthWeiboRequest.java b/src/main/java/me/zhyd/oauth/request/AuthWeiboRequest.java index 9f226d8..9e5d377 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthWeiboRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthWeiboRequest.java @@ -3,6 +3,7 @@ package me.zhyd.oauth.request; import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpResponse; import com.alibaba.fastjson.JSONObject; +import me.zhyd.oauth.cache.AuthStateCache; import me.zhyd.oauth.config.AuthConfig; import me.zhyd.oauth.config.AuthSource; import me.zhyd.oauth.enums.AuthUserGender; @@ -27,6 +28,10 @@ public class AuthWeiboRequest extends AuthDefaultRequest { super(config, AuthSource.WEIBO); } + public AuthWeiboRequest(AuthConfig config, AuthStateCache authStateCache) { + super(config, AuthSource.WEIBO, authStateCache); + } + @Override protected AuthToken getAccessToken(AuthCallback authCallback) { HttpResponse response = doPostAuthorizationCode(authCallback.getCode());