From e2e1a082d14a6feeb35c42ac9f4f62bf405aca1b Mon Sep 17 00:00:00 2001 From: "Yangkai.Shen" <237497819@qq.com> Date: Tue, 16 Jul 2019 10:01:17 +0800 Subject: [PATCH 1/8] =?UTF-8?q?:bug:=20=E4=BF=AE=E5=A4=8D=E5=B0=8F?= =?UTF-8?q?=E7=B1=B3=E5=9B=9E=E8=B0=83=E9=94=99=E8=AF=AF=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/me/zhyd/oauth/request/AuthMiRequest.java | 4 ++++ src/main/java/me/zhyd/oauth/utils/UrlBuilder.java | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/me/zhyd/oauth/request/AuthMiRequest.java b/src/main/java/me/zhyd/oauth/request/AuthMiRequest.java index 6ca5403..149c86c 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthMiRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthMiRequest.java @@ -4,6 +4,7 @@ import cn.hutool.core.util.StrUtil; import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpResponse; import com.alibaba.fastjson.JSONObject; +import lombok.extern.slf4j.Slf4j; import me.zhyd.oauth.config.AuthConfig; import me.zhyd.oauth.config.AuthSource; import me.zhyd.oauth.exception.AuthException; @@ -19,6 +20,7 @@ import java.text.MessageFormat; * @version 1.5 * @since 1.5 */ +@Slf4j public class AuthMiRequest extends BaseAuthRequest { private static final String PREFIX = "&&&START&&&"; @@ -86,6 +88,8 @@ public class AuthMiRequest extends BaseAuthRequest { if (!"error".equalsIgnoreCase(userEmailPhone.getString("result"))) { JSONObject emailPhone = userEmailPhone.getJSONObject("data"); authUser.setEmail(emailPhone.getString("email")); + }else { + log.warn("小米开发平台暂时不对外开放用户手机及邮箱信息的获取"); } return authUser; diff --git a/src/main/java/me/zhyd/oauth/utils/UrlBuilder.java b/src/main/java/me/zhyd/oauth/utils/UrlBuilder.java index 70d8db7..d8ae653 100644 --- a/src/main/java/me/zhyd/oauth/utils/UrlBuilder.java +++ b/src/main/java/me/zhyd/oauth/utils/UrlBuilder.java @@ -87,7 +87,7 @@ public class UrlBuilder { private static final String MICROSOFT_USER_INFO_PATTERN = "{0}"; private static final String MICROSOFT_REFRESH_TOKEN_PATTERN = "{0}?client_id={1}&client_secret={2}&scope=user.read%20mail.read&redirect_uri={3}&refresh_token={4}&grant_type=refresh_token"; - private static final String MI_AUTHORIZE_PATTERN = "{0}?client_id={1}&redirect_uri={2}&response_type=code&scope=1%203%204%206&state={3}&skip_confirm=false"; + private static final String MI_AUTHORIZE_PATTERN = "{0}?client_id={1}&redirect_uri={2}&response_type=code&scope=user/profile%20user/openIdV2%20user/phoneAndEmail&state={3}&skip_confirm=false"; private static final String MI_ACCESS_TOKEN_PATTERN = "{0}?client_id={1}&client_secret={2}&redirect_uri={3}&code={4}&grant_type=authorization_code"; private static final String MI_USER_INFO_PATTERN = "{0}?clientId={1}&token={2}"; private static final String MI_REFRESH_TOKEN_PATTERN = "{0}?client_id={1}&client_secret={2}&redirect_uri={3}&refresh_token={4}&grant_type=refresh_token"; From 8d1b329c63e6708259b9eb976e52132008fa9de5 Mon Sep 17 00:00:00 2001 From: "Yangkai.Shen" <237497819@qq.com> Date: Tue, 16 Jul 2019 10:30:29 +0800 Subject: [PATCH 2/8] =?UTF-8?q?:sparkles:=20=E5=BE=AE=E4=BF=A1=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E8=8E=B7=E5=8F=96unionId?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/me/zhyd/oauth/request/AuthWeChatRequest.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/me/zhyd/oauth/request/AuthWeChatRequest.java b/src/main/java/me/zhyd/oauth/request/AuthWeChatRequest.java index e7ae78e..d081c08 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthWeChatRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthWeChatRequest.java @@ -44,6 +44,11 @@ public class AuthWeChatRequest extends BaseAuthRequest { this.checkResponse(object); String location = String.format("%s-%s-%s", object.getString("country"), object.getString("province"), object.getString("city")); + + if (object.containsKey("unionid")){ + authToken.setUnionId(object.getString("unionid")); + } + return AuthUser.builder() .username(object.getString("nickname")) .nickname(object.getString("nickname")) From f7561e97fcef8f1d266c8b6c8bbde5c0d5a268c2 Mon Sep 17 00:00:00 2001 From: "yadong.zhang" Date: Thu, 18 Jul 2019 15:50:54 +0800 Subject: [PATCH 3/8] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20example.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- example.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/example.md b/example.md index 022ca61..fb5f25c 100644 --- a/example.md +++ b/example.md @@ -84,4 +84,12 @@ _注:非全部平台,部分平台可能不存在图例_ 暂无 +#### 授权Pinterest + +![授权Pinterest](https://images.gitee.com/uploads/images/2019/0718/155012_6290f500_784199.jpeg "在这里输入图片标题") + +#### 授权Renren + +![授权Renre](https://images.gitee.com/uploads/images/2019/0718/155035_8e26c10a_784199.jpeg "在这里输入图片标题") + _请知悉:经咨询CSDN官方客服得知,CSDN的授权开放平台已经下线。如果以前申请过的应用,可以继续使用,但是不再支持申请新的应用。so, 本项目中的CSDN登录只能针对少部分用户使用了_ \ No newline at end of file From a599ced6b05dda5bec0de463f70fcf7b7018be0e Mon Sep 17 00:00:00 2001 From: dingyanchao Date: Fri, 19 Jul 2019 11:15:08 +0800 Subject: [PATCH 4/8] fastjson version --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 65a7890..065ed3d 100644 --- a/pom.xml +++ b/pom.xml @@ -52,7 +52,7 @@ 4.5.15 1.18.4 4.11 - 1.2.44 + 1.2.58 3.7.4.ALL 1.7.25 From 53df9924747bd447f51625d439db8065bda91214 Mon Sep 17 00:00:00 2001 From: "yadong.zhang" Date: Fri, 19 Jul 2019 22:00:07 +0800 Subject: [PATCH 5/8] =?UTF-8?q?:zap:=20=E4=BC=98=E5=8C=96=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E3=80=81=E4=BF=AE=E5=A4=8Dgoogle=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E4=BF=A1=E6=81=AF=E5=A4=B1=E8=B4=A5=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/me/zhyd/oauth/config/AuthSource.java | 2 +- .../zhyd/oauth/request/AuthAlipayRequest.java | 2 +- .../zhyd/oauth/request/AuthBaiduRequest.java | 10 ++++++-- .../zhyd/oauth/request/AuthCodingRequest.java | 2 +- .../zhyd/oauth/request/AuthCsdnRequest.java | 2 +- .../oauth/request/AuthDefaultRequest.java | 1 - .../oauth/request/AuthDingTalkRequest.java | 2 +- .../zhyd/oauth/request/AuthDouyinRequest.java | 2 +- .../oauth/request/AuthFacebookRequest.java | 2 +- .../zhyd/oauth/request/AuthGiteeRequest.java | 2 +- .../zhyd/oauth/request/AuthGithubRequest.java | 25 +++++++++++-------- .../zhyd/oauth/request/AuthGoogleRequest.java | 14 +++++++---- .../me/zhyd/oauth/request/AuthMiRequest.java | 2 +- .../oauth/request/AuthMicrosoftRequest.java | 2 +- .../oauth/request/AuthOschinaRequest.java | 2 +- .../oauth/request/AuthPinterestRequest.java | 2 +- .../me/zhyd/oauth/request/AuthQqRequest.java | 2 +- .../zhyd/oauth/request/AuthRenrenRequest.java | 2 +- .../request/AuthStackOverflowRequest.java | 2 +- .../zhyd/oauth/request/AuthTaobaoRequest.java | 2 +- .../oauth/request/AuthTeambitionRequest.java | 2 +- .../request/AuthTencentCloudRequest.java | 2 +- .../oauth/request/AuthToutiaoRequest.java | 2 +- .../zhyd/oauth/request/AuthWeChatRequest.java | 2 +- .../zhyd/oauth/request/AuthWeiboRequest.java | 2 +- update.md | 3 ++- 26 files changed, 55 insertions(+), 40 deletions(-) diff --git a/src/main/java/me/zhyd/oauth/config/AuthSource.java b/src/main/java/me/zhyd/oauth/config/AuthSource.java index f712210..1ea6704 100644 --- a/src/main/java/me/zhyd/oauth/config/AuthSource.java +++ b/src/main/java/me/zhyd/oauth/config/AuthSource.java @@ -294,7 +294,7 @@ public enum AuthSource { @Override public String userInfo() { - return "https://oauth2.googleapis.com/tokeninfo"; + return "https://www.googleapis.com/oauth2/v3/userinfo"; } }, /** diff --git a/src/main/java/me/zhyd/oauth/request/AuthAlipayRequest.java b/src/main/java/me/zhyd/oauth/request/AuthAlipayRequest.java index 18b49ad..07ce7da 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthAlipayRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthAlipayRequest.java @@ -81,7 +81,7 @@ public class AuthAlipayRequest extends AuthDefaultRequest { .location(location) .gender(AuthUserGender.getRealGender(response.getGender())) .token(authToken) - .source(AuthSource.ALIPAY) + .source(source) .build(); } diff --git a/src/main/java/me/zhyd/oauth/request/AuthBaiduRequest.java b/src/main/java/me/zhyd/oauth/request/AuthBaiduRequest.java index 92d97a3..5ce2149 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthBaiduRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthBaiduRequest.java @@ -8,6 +8,7 @@ import me.zhyd.oauth.config.AuthSource; import me.zhyd.oauth.enums.AuthUserGender; import me.zhyd.oauth.exception.AuthException; import me.zhyd.oauth.model.*; +import me.zhyd.oauth.utils.StringUtils; import me.zhyd.oauth.utils.UrlBuilder; /** @@ -39,14 +40,19 @@ public class AuthBaiduRequest extends AuthDefaultRequest { .uuid(object.getString("userid")) .username(object.getString("username")) .nickname(object.getString("username")) - .avatar(object.getString("portrait")) + .avatar(getAvatar(object)) .remark(object.getString("userdetail")) .gender(AuthUserGender.getRealGender(object.getString("sex"))) .token(authToken) - .source(AuthSource.BAIDU) + .source(source) .build(); } + private String getAvatar(JSONObject object) { + String protrait = object.getString("portrait"); + return StringUtils.isEmpty(protrait) ? null : String.format("http://himg.bdimg.com/sys/portrait/item/%s.jpg", protrait); + } + @Override public AuthResponse revoke(AuthToken authToken) { HttpResponse response = doGetRevoke(authToken); diff --git a/src/main/java/me/zhyd/oauth/request/AuthCodingRequest.java b/src/main/java/me/zhyd/oauth/request/AuthCodingRequest.java index 070d57b..98e45bf 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthCodingRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthCodingRequest.java @@ -55,7 +55,7 @@ public class AuthCodingRequest extends AuthDefaultRequest { .email(object.getString("email")) .remark(object.getString("slogan")) .token(authToken) - .source(AuthSource.CODING) + .source(source) .build(); } diff --git a/src/main/java/me/zhyd/oauth/request/AuthCsdnRequest.java b/src/main/java/me/zhyd/oauth/request/AuthCsdnRequest.java index 9043f04..3a72d37 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthCsdnRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthCsdnRequest.java @@ -44,7 +44,7 @@ public class AuthCsdnRequest extends AuthDefaultRequest { .blog(object.getString("website")) .gender(AuthUserGender.UNKNOWN) .token(authToken) - .source(AuthSource.CSDN) + .source(source) .build(); } diff --git a/src/main/java/me/zhyd/oauth/request/AuthDefaultRequest.java b/src/main/java/me/zhyd/oauth/request/AuthDefaultRequest.java index 9f022fe..ca0491d 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthDefaultRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthDefaultRequest.java @@ -20,7 +20,6 @@ import me.zhyd.oauth.utils.UrlBuilder; * @version 1.0 * @since 1.8 */ -@Data @Slf4j public abstract class AuthDefaultRequest implements AuthRequest { protected AuthConfig config; diff --git a/src/main/java/me/zhyd/oauth/request/AuthDingTalkRequest.java b/src/main/java/me/zhyd/oauth/request/AuthDingTalkRequest.java index 69956a7..1b2d9a4 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthDingTalkRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthDingTalkRequest.java @@ -52,7 +52,7 @@ public class AuthDingTalkRequest extends AuthDefaultRequest { .nickname(object.getString("nick")) .username(object.getString("nick")) .gender(AuthUserGender.UNKNOWN) - .source(AuthSource.DINGTALK) + .source(source) .token(token) .build(); } diff --git a/src/main/java/me/zhyd/oauth/request/AuthDouyinRequest.java b/src/main/java/me/zhyd/oauth/request/AuthDouyinRequest.java index 9c46b4f..a68f232 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthDouyinRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthDouyinRequest.java @@ -42,7 +42,7 @@ public class AuthDouyinRequest extends AuthDefaultRequest { .remark(userInfoObject.getString("description")) .gender(AuthUserGender.UNKNOWN) .token(authToken) - .source(AuthSource.DOUYIN) + .source(source) .build(); } diff --git a/src/main/java/me/zhyd/oauth/request/AuthFacebookRequest.java b/src/main/java/me/zhyd/oauth/request/AuthFacebookRequest.java index 771c894..6d7cc2b 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthFacebookRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthFacebookRequest.java @@ -51,7 +51,7 @@ public class AuthFacebookRequest extends AuthDefaultRequest { .email(object.getString("email")) .gender(AuthUserGender.getRealGender(object.getString("gender"))) .token(authToken) - .source(AuthSource.FACEBOOK) + .source(source) .build(); } diff --git a/src/main/java/me/zhyd/oauth/request/AuthGiteeRequest.java b/src/main/java/me/zhyd/oauth/request/AuthGiteeRequest.java index 0522003..e32c124 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthGiteeRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthGiteeRequest.java @@ -55,7 +55,7 @@ public class AuthGiteeRequest extends AuthDefaultRequest { .remark(object.getString("bio")) .gender(AuthUserGender.UNKNOWN) .token(authToken) - .source(AuthSource.GITEE) + .source(source) .build(); } diff --git a/src/main/java/me/zhyd/oauth/request/AuthGithubRequest.java b/src/main/java/me/zhyd/oauth/request/AuthGithubRequest.java index c843a8b..f71378c 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthGithubRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthGithubRequest.java @@ -9,6 +9,9 @@ import me.zhyd.oauth.exception.AuthException; import me.zhyd.oauth.model.AuthCallback; import me.zhyd.oauth.model.AuthToken; import me.zhyd.oauth.model.AuthUser; +import me.zhyd.oauth.utils.GlobalAuthUtil; + +import java.util.Map; /** * Github登录 @@ -26,12 +29,14 @@ public class AuthGithubRequest extends AuthDefaultRequest { @Override protected AuthToken getAccessToken(AuthCallback authCallback) { HttpResponse response = doPostAuthorizationCode(authCallback.getCode()); - JSONObject accessTokenObject = JSONObject.parseObject(response.body()); - this.checkResponse(accessTokenObject); + Map res = GlobalAuthUtil.parseStringToMap(response.body()); + if (res.containsKey("error")) { + throw new AuthException(res.get("error") + ":" + res.get("error_description")); + } return AuthToken.builder() - .accessToken(accessTokenObject.getString("access_token")) - .scope(accessTokenObject.getString("scope")) - .tokenType(accessTokenObject.getString("token_type")) + .accessToken(res.get("access_token")) + .scope(res.get("scope")) + .tokenType(res.get("token_type")) .build(); } @@ -39,7 +44,9 @@ public class AuthGithubRequest extends AuthDefaultRequest { protected AuthUser getUserInfo(AuthToken authToken) { HttpResponse response = doGetUserInfo(authToken); JSONObject object = JSONObject.parseObject(response.body()); - this.checkResponse(object); + if (object.containsKey("error")) { + throw new AuthException(object.getString("error_description")); + } return AuthUser.builder() .uuid(object.getString("id")) .username(object.getString("login")) @@ -52,7 +59,7 @@ public class AuthGithubRequest extends AuthDefaultRequest { .remark(object.getString("bio")) .gender(AuthUserGender.UNKNOWN) .token(authToken) - .source(AuthSource.GITHUB) + .source(source) .build(); } @@ -62,8 +69,6 @@ public class AuthGithubRequest extends AuthDefaultRequest { * @param object 请求响应内容 */ private void checkResponse(JSONObject object) { - if (object.containsKey("error")) { - throw new AuthException(object.getString("error_description")); - } + } } diff --git a/src/main/java/me/zhyd/oauth/request/AuthGoogleRequest.java b/src/main/java/me/zhyd/oauth/request/AuthGoogleRequest.java index a6a603a..bb648d3 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthGoogleRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthGoogleRequest.java @@ -1,5 +1,6 @@ package me.zhyd.oauth.request; +import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpResponse; import com.alibaba.fastjson.JSONObject; import me.zhyd.oauth.config.AuthConfig; @@ -40,25 +41,28 @@ public class AuthGoogleRequest extends AuthDefaultRequest { @Override protected AuthUser getUserInfo(AuthToken authToken) { - HttpResponse response = doGetUserInfo(authToken); + HttpResponse response = HttpRequest.post(userInfoUrl(authToken)) + .header("Authorization", "Bearer " + authToken.getAccessToken()) + .execute(); String userInfo = response.body(); JSONObject object = JSONObject.parseObject(userInfo); this.checkResponse(object); return AuthUser.builder() .uuid(object.getString("sub")) - .username(object.getString("name")) + .username(object.getString("email")) .avatar(object.getString("picture")) .nickname(object.getString("name")) .location(object.getString("locale")) .email(object.getString("email")) .gender(AuthUserGender.UNKNOWN) .token(authToken) - .source(AuthSource.GOOGLE) + .source(source) .build(); } /** * 返回认证url,可自行跳转页面 + * https://openidconnect.googleapis.com/v1/userinfo * * @return 返回授权地址 */ @@ -81,7 +85,7 @@ public class AuthGoogleRequest extends AuthDefaultRequest { */ @Override protected String userInfoUrl(AuthToken authToken) { - return UrlBuilder.fromBaseUrl(source.userInfo()).queryParam("id_token", authToken.getAccessToken()).build(); + return UrlBuilder.fromBaseUrl(source.userInfo()).queryParam("access_token", authToken.getAccessToken()).build(); } /** @@ -91,7 +95,7 @@ public class AuthGoogleRequest extends AuthDefaultRequest { */ private void checkResponse(JSONObject object) { if (object.containsKey("error") || object.containsKey("error_description")) { - throw new AuthException(object.getString("error_description")); + throw new AuthException(object.containsKey("error") + ":" + object.getString("error_description")); } } } diff --git a/src/main/java/me/zhyd/oauth/request/AuthMiRequest.java b/src/main/java/me/zhyd/oauth/request/AuthMiRequest.java index 2fddab2..8d7edb6 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthMiRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthMiRequest.java @@ -75,7 +75,7 @@ public class AuthMiRequest extends AuthDefaultRequest { .email(user.getString("mail")) .gender(AuthUserGender.UNKNOWN) .token(authToken) - .source(AuthSource.MI) + .source(source) .build(); // 获取用户邮箱手机号等信息 diff --git a/src/main/java/me/zhyd/oauth/request/AuthMicrosoftRequest.java b/src/main/java/me/zhyd/oauth/request/AuthMicrosoftRequest.java index 4b5e864..0fc34b8 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthMicrosoftRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthMicrosoftRequest.java @@ -83,7 +83,7 @@ public class AuthMicrosoftRequest extends AuthDefaultRequest { .email(object.getString("mail")) .gender(AuthUserGender.UNKNOWN) .token(authToken) - .source(AuthSource.MICROSOFT) + .source(source) .build(); } diff --git a/src/main/java/me/zhyd/oauth/request/AuthOschinaRequest.java b/src/main/java/me/zhyd/oauth/request/AuthOschinaRequest.java index 955a807..0766de1 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthOschinaRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthOschinaRequest.java @@ -52,7 +52,7 @@ public class AuthOschinaRequest extends AuthDefaultRequest { .gender(AuthUserGender.getRealGender(object.getString("gender"))) .email(object.getString("email")) .token(authToken) - .source(AuthSource.OSCHINA) + .source(source) .build(); } diff --git a/src/main/java/me/zhyd/oauth/request/AuthPinterestRequest.java b/src/main/java/me/zhyd/oauth/request/AuthPinterestRequest.java index e86a247..b31893a 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthPinterestRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthPinterestRequest.java @@ -58,7 +58,7 @@ public class AuthPinterestRequest extends AuthDefaultRequest { .gender(AuthUserGender.UNKNOWN) .remark(userObj.getString("bio")) .token(authToken) - .source(PINTEREST) + .source(source) .build(); } diff --git a/src/main/java/me/zhyd/oauth/request/AuthQqRequest.java b/src/main/java/me/zhyd/oauth/request/AuthQqRequest.java index 7943ea3..1b8d6f9 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthQqRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthQqRequest.java @@ -65,7 +65,7 @@ public class AuthQqRequest extends AuthDefaultRequest { .uuid(openId) .gender(AuthUserGender.getRealGender(object.getString("gender"))) .token(authToken) - .source(AuthSource.QQ) + .source(source) .build(); } diff --git a/src/main/java/me/zhyd/oauth/request/AuthRenrenRequest.java b/src/main/java/me/zhyd/oauth/request/AuthRenrenRequest.java index c4d4af5..7a16b45 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthRenrenRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthRenrenRequest.java @@ -45,7 +45,7 @@ public class AuthRenrenRequest extends AuthDefaultRequest { .company(getCompany(userObj)) .gender(getGender(userObj)) .token(authToken) - .source(RENREN) + .source(source) .build(); } diff --git a/src/main/java/me/zhyd/oauth/request/AuthStackOverflowRequest.java b/src/main/java/me/zhyd/oauth/request/AuthStackOverflowRequest.java index 3784012..655c9c5 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthStackOverflowRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthStackOverflowRequest.java @@ -63,7 +63,7 @@ public class AuthStackOverflowRequest extends AuthDefaultRequest { .blog(userObj.getString("website_url")) .gender(AuthUserGender.UNKNOWN) .token(authToken) - .source(STACK_OVERFLOW) + .source(source) .build(); } diff --git a/src/main/java/me/zhyd/oauth/request/AuthTaobaoRequest.java b/src/main/java/me/zhyd/oauth/request/AuthTaobaoRequest.java index 55760bd..7a3b522 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthTaobaoRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthTaobaoRequest.java @@ -50,7 +50,7 @@ public class AuthTaobaoRequest extends AuthDefaultRequest { .nickname(nick) .gender(AuthUserGender.UNKNOWN) .token(authToken) - .source(AuthSource.TAOBAO) + .source(source) .build(); } diff --git a/src/main/java/me/zhyd/oauth/request/AuthTeambitionRequest.java b/src/main/java/me/zhyd/oauth/request/AuthTeambitionRequest.java index 81c6b3c..d8e79f6 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthTeambitionRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthTeambitionRequest.java @@ -67,7 +67,7 @@ public class AuthTeambitionRequest extends AuthDefaultRequest { .email(object.getString("email")) .gender(AuthUserGender.UNKNOWN) .token(authToken) - .source(AuthSource.TEAMBITION) + .source(source) .build(); } diff --git a/src/main/java/me/zhyd/oauth/request/AuthTencentCloudRequest.java b/src/main/java/me/zhyd/oauth/request/AuthTencentCloudRequest.java index 8a817c4..7aaa77d 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthTencentCloudRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthTencentCloudRequest.java @@ -55,7 +55,7 @@ public class AuthTencentCloudRequest extends AuthDefaultRequest { .email(object.getString("email")) .remark(object.getString("slogan")) .token(authToken) - .source(AuthSource.TENCENT_CLOUD) + .source(source) .build(); } diff --git a/src/main/java/me/zhyd/oauth/request/AuthToutiaoRequest.java b/src/main/java/me/zhyd/oauth/request/AuthToutiaoRequest.java index 85ff25e..2a1c979 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthToutiaoRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthToutiaoRequest.java @@ -60,7 +60,7 @@ public class AuthToutiaoRequest extends AuthDefaultRequest { .remark(user.getString("description")) .gender(AuthUserGender.getRealGender(user.getString("gender"))) .token(authToken) - .source(AuthSource.TOUTIAO) + .source(source) .build(); } diff --git a/src/main/java/me/zhyd/oauth/request/AuthWeChatRequest.java b/src/main/java/me/zhyd/oauth/request/AuthWeChatRequest.java index 2d426c5..dbc029a 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthWeChatRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthWeChatRequest.java @@ -56,7 +56,7 @@ public class AuthWeChatRequest extends AuthDefaultRequest { .uuid(openId) .gender(AuthUserGender.getRealGender(object.getString("sex"))) .token(authToken) - .source(AuthSource.WECHAT) + .source(source) .build(); } diff --git a/src/main/java/me/zhyd/oauth/request/AuthWeiboRequest.java b/src/main/java/me/zhyd/oauth/request/AuthWeiboRequest.java index a792573..0297ba7 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthWeiboRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthWeiboRequest.java @@ -69,7 +69,7 @@ public class AuthWeiboRequest extends AuthDefaultRequest { .remark(object.getString("description")) .gender(AuthUserGender.getRealGender(object.getString("gender"))) .token(authToken) - .source(AuthSource.WEIBO) + .source(source) .build(); } diff --git a/update.md b/update.md index ce8152e..70d7689 100644 --- a/update.md +++ b/update.md @@ -7,7 +7,8 @@ 5. 优化`AuthConfig`、`AuthResponse`类,去掉不必要的lombonk注解,减少编译后的代码量 6. 使用lombok注解优化枚举类 7. `AuthQqRequest`增加refresh方法 -8. 优化代码 +8. 修复google登录无法获取用户信息的问题 +9. 优化代码 ### 2019/07/18 From 93c301e05b3a417442caf9215b0ae74402bfaeff Mon Sep 17 00:00:00 2001 From: "yadong.zhang" Date: Fri, 19 Jul 2019 22:25:44 +0800 Subject: [PATCH 6/8] =?UTF-8?q?:zap:=20=E4=BC=98=E5=8C=96=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../oauth/request/AuthLinkedinRequest.java | 10 +++---- .../java/me/zhyd/oauth/utils/CustomTest.java | 27 +++++++++++++++++++ 2 files changed, 30 insertions(+), 7 deletions(-) diff --git a/src/main/java/me/zhyd/oauth/request/AuthLinkedinRequest.java b/src/main/java/me/zhyd/oauth/request/AuthLinkedinRequest.java index b552256..7a636ac 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthLinkedinRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthLinkedinRequest.java @@ -4,6 +4,7 @@ import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpResponse; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.JSONPath; import me.zhyd.oauth.config.AuthConfig; import me.zhyd.oauth.config.AuthSource; import me.zhyd.oauth.enums.AuthUserGender; @@ -120,13 +121,8 @@ public class AuthLinkedinRequest extends AuthDefaultRequest { .execute(); JSONObject emailObj = JSONObject.parseObject(emailResponse.body()); this.checkResponse(emailObj); - if (emailObj.containsKey("elements")) { - email = emailObj.getJSONArray("elements") - .getJSONObject(0) - .getJSONObject("handle~") - .getString("emailAddress"); - } - return email; + Object obj = JSONPath.eval(emailObj, "$['elements'][0]['handle~']['emailAddress']"); + return null == obj ? null : (String) obj; } private String getUserName(JSONObject userInfoObject, String nameKey) { diff --git a/src/test/java/me/zhyd/oauth/utils/CustomTest.java b/src/test/java/me/zhyd/oauth/utils/CustomTest.java index eab7ddd..b7a7c65 100644 --- a/src/test/java/me/zhyd/oauth/utils/CustomTest.java +++ b/src/test/java/me/zhyd/oauth/utils/CustomTest.java @@ -1,7 +1,16 @@ package me.zhyd.oauth.utils; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.JSONPath; import org.junit.Test; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + /** * @author yadong.zhang (yadong.zhang0415(a)gmail.com) * @version 1.0 @@ -60,4 +69,22 @@ public class CustomTest { // } return stackTrace[2].getMethodName(); } + + @Test + public void jsonpath(){ + List>> list = new ArrayList<>(); + + Map> map = new HashMap<>(); + Map node = new HashMap<>(); + node.put("emailAddress", "xxxx"); + map.put("handle~", node); + list.add(map); + + + Map master = new HashMap<>(); +// master.put("elements", list); + JSONObject emailObj = JSONObject.parseObject(JSON.toJSONString(master)); + Object object = JSONPath.eval(emailObj, "$['elements'][0]['handle~']['emailAddress']"); + System.out.println(object); + } } From ce1f71c707ec0595c6af14f3a11bd4001cc97dbf Mon Sep 17 00:00:00 2001 From: "yadong.zhang" Date: Fri, 19 Jul 2019 22:27:49 +0800 Subject: [PATCH 7/8] :pushpin: version --- README.md | 6 +++--- .../java/me/zhyd/oauth/request/AuthPinterestRequest.java | 2 +- src/main/java/me/zhyd/oauth/request/AuthRenrenRequest.java | 4 ++-- .../me/zhyd/oauth/request/AuthStackOverflowRequest.java | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index d330815..75469ba 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@

- + @@ -15,7 +15,7 @@ - +

@@ -76,7 +76,7 @@ JustAuth,如你所见,它仅仅是一个**第三方授权登录**的**工具 me.zhyd.oauth JustAuth - 1.8.1 + 1.9.0 ``` - 调用api diff --git a/src/main/java/me/zhyd/oauth/request/AuthPinterestRequest.java b/src/main/java/me/zhyd/oauth/request/AuthPinterestRequest.java index b31893a..17ec8e2 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthPinterestRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthPinterestRequest.java @@ -20,7 +20,7 @@ import static me.zhyd.oauth.config.AuthSource.PINTEREST; * * @author hongwei.peng (pengisgood(at)gmail(dot)com) * @version 1.9.0 - * @since 1.9.0 + * @since 1.8 */ public class AuthPinterestRequest extends AuthDefaultRequest { diff --git a/src/main/java/me/zhyd/oauth/request/AuthRenrenRequest.java b/src/main/java/me/zhyd/oauth/request/AuthRenrenRequest.java index 7a16b45..c1fb3b6 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthRenrenRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthRenrenRequest.java @@ -19,8 +19,8 @@ import static me.zhyd.oauth.model.AuthResponseStatus.SUCCESS; * 人人登录 * * @author hongwei.peng (pengisgood(at)gmail(dot)com) - * @version 1.8.1 - * @since 1.8.1 + * @version 1.9.0 + * @since 1.8 */ public class AuthRenrenRequest extends AuthDefaultRequest { diff --git a/src/main/java/me/zhyd/oauth/request/AuthStackOverflowRequest.java b/src/main/java/me/zhyd/oauth/request/AuthStackOverflowRequest.java index 655c9c5..c23439e 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthStackOverflowRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthStackOverflowRequest.java @@ -19,7 +19,7 @@ import static me.zhyd.oauth.utils.GlobalAuthUtil.parseQueryToMap; * * @author hongwei.peng (pengisgood(at)gmail(dot)com) * @version 1.9.0 - * @since 1.9.0 + * @since 1.8 */ public class AuthStackOverflowRequest extends AuthDefaultRequest { From 798e7556ba759b2d514d3657a3233540d7b3198d Mon Sep 17 00:00:00 2001 From: "yadong.zhang" Date: Sat, 20 Jul 2019 17:21:21 +0800 Subject: [PATCH 8/8] =?UTF-8?q?:bookmark:=20=E5=A2=9E=E5=8A=A0`stackoverfl?= =?UTF-8?q?ow`=E5=8F=82=E6=95=B0=E6=A0=A1=E9=AA=8C=E3=80=81=E8=A7=A3?= =?UTF-8?q?=E5=86=B3`Pinterest`=E8=8E=B7=E5=8F=96=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5=E7=9A=84=E9=97=AE=E9=A2=98=EF=BC=8C=E5=8F=91?= =?UTF-8?q?=E5=B8=83v1.9.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 8 ++++---- pom.xml | 4 ++-- .../oauth/request/AuthDefaultRequest.java | 4 ++++ .../oauth/request/AuthDingTalkRequest.java | 2 +- .../zhyd/oauth/request/AuthGoogleRequest.java | 2 +- .../oauth/request/AuthLinkedinRequest.java | 2 +- .../me/zhyd/oauth/request/AuthMiRequest.java | 2 +- .../oauth/request/AuthMicrosoftRequest.java | 4 ++-- .../oauth/request/AuthOschinaRequest.java | 2 +- .../oauth/request/AuthPinterestRequest.java | 19 +++++++++++++++---- .../zhyd/oauth/request/AuthRenrenRequest.java | 2 +- .../zhyd/oauth/request/AuthWeiboRequest.java | 2 +- .../java/me/zhyd/oauth/utils/AuthChecker.java | 3 +++ .../me/zhyd/oauth/utils/GlobalAuthUtil.java | 2 +- .../java/me/zhyd/oauth/utils/UrlBuilder.java | 1 - update.md | 6 ++++++ 16 files changed, 44 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 75469ba..e9758b9 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@

- + @@ -15,7 +15,7 @@ - +

@@ -76,7 +76,7 @@ JustAuth,如你所见,它仅仅是一个**第三方授权登录**的**工具 me.zhyd.oauth JustAuth - 1.9.0 + 1.9.1 ``` - 调用api @@ -148,7 +148,7 @@ _请知悉:经咨询CSDN官方客服得知,CSDN的授权开放平台已经 2. 把fork过去的项目也就是你仓库中的项目clone到你的本地 3. 修改代码 4. commit后push到自己的库 -5. 发起PR(pull request) 请求 +5. 发起PR(pull request) 请求,提交到`dev`分支 6. 等待作者合并 ## 致谢 diff --git a/pom.xml b/pom.xml index e7a80e8..32f3962 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ me.zhyd.oauth JustAuth - 1.9.0 + 1.9.1 JustAuth https://gitee.com/yadong.zhang/JustAuth @@ -190,4 +190,4 @@ - \ No newline at end of file + diff --git a/src/main/java/me/zhyd/oauth/request/AuthDefaultRequest.java b/src/main/java/me/zhyd/oauth/request/AuthDefaultRequest.java index ca0491d..1774a15 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthDefaultRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthDefaultRequest.java @@ -80,6 +80,7 @@ public abstract class AuthDefaultRequest implements AuthRequest { /** * 返回获取accessToken的url * + * @param code 授权码 * @return 返回获取accessToken的url */ protected String accessTokenUrl(String code) { @@ -95,6 +96,7 @@ public abstract class AuthDefaultRequest implements AuthRequest { /** * 返回获取accessToken的url * + * @param refreshToken refreshToken * @return 返回获取accessToken的url */ protected String refreshTokenUrl(String refreshToken) { @@ -110,6 +112,7 @@ public abstract class AuthDefaultRequest implements AuthRequest { /** * 返回获取userInfo的url * + * @param authToken token * @return 返回获取userInfo的url */ protected String userInfoUrl(AuthToken authToken) { @@ -119,6 +122,7 @@ public abstract class AuthDefaultRequest implements AuthRequest { /** * 返回获取revoke authorization的url * + * @param authToken token * @return 返回获取revoke authorization的url */ protected String revokeUrl(AuthToken authToken) { diff --git a/src/main/java/me/zhyd/oauth/request/AuthDingTalkRequest.java b/src/main/java/me/zhyd/oauth/request/AuthDingTalkRequest.java index 1b2d9a4..ce0f52f 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthDingTalkRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthDingTalkRequest.java @@ -76,7 +76,7 @@ public class AuthDingTalkRequest extends AuthDefaultRequest { /** * 返回获取userInfo的url * - * @param authToken + * @param authToken 用户授权后的token * @return 返回获取userInfo的url */ @Override diff --git a/src/main/java/me/zhyd/oauth/request/AuthGoogleRequest.java b/src/main/java/me/zhyd/oauth/request/AuthGoogleRequest.java index bb648d3..61b4f7f 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthGoogleRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthGoogleRequest.java @@ -80,7 +80,7 @@ public class AuthGoogleRequest extends AuthDefaultRequest { /** * 返回获取userInfo的url * - * @param authToken + * @param authToken 用户授权后的token * @return 返回获取userInfo的url */ @Override diff --git a/src/main/java/me/zhyd/oauth/request/AuthLinkedinRequest.java b/src/main/java/me/zhyd/oauth/request/AuthLinkedinRequest.java index 7a636ac..e22a741 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthLinkedinRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthLinkedinRequest.java @@ -200,7 +200,7 @@ public class AuthLinkedinRequest extends AuthDefaultRequest { /** * 返回获取userInfo的url * - * @param authToken + * @param authToken 用户授权后的token * @return 返回获取userInfo的url */ @Override diff --git a/src/main/java/me/zhyd/oauth/request/AuthMiRequest.java b/src/main/java/me/zhyd/oauth/request/AuthMiRequest.java index 8d7edb6..0ac9e00 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthMiRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthMiRequest.java @@ -128,7 +128,7 @@ public class AuthMiRequest extends AuthDefaultRequest { /** * 返回获取userInfo的url * - * @param authToken + * @param authToken 用户授权后的token * @return 返回获取userInfo的url */ @Override diff --git a/src/main/java/me/zhyd/oauth/request/AuthMicrosoftRequest.java b/src/main/java/me/zhyd/oauth/request/AuthMicrosoftRequest.java index 0fc34b8..addd187 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthMicrosoftRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthMicrosoftRequest.java @@ -139,7 +139,7 @@ public class AuthMicrosoftRequest extends AuthDefaultRequest { /** * 返回获取userInfo的url * - * @param authToken + * @param authToken 用户授权后的token * @return 返回获取userInfo的url */ @Override @@ -150,7 +150,7 @@ public class AuthMicrosoftRequest extends AuthDefaultRequest { /** * 返回获取accessToken的url * - * @param refreshToken + * @param refreshToken 用户授权后的token * @return 返回获取accessToken的url */ @Override diff --git a/src/main/java/me/zhyd/oauth/request/AuthOschinaRequest.java b/src/main/java/me/zhyd/oauth/request/AuthOschinaRequest.java index 0766de1..58cc743 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthOschinaRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthOschinaRequest.java @@ -77,7 +77,7 @@ public class AuthOschinaRequest extends AuthDefaultRequest { /** * 返回获取userInfo的url * - * @param authToken + * @param authToken 用户授权后的token * @return 返回获取userInfo的url */ @Override diff --git a/src/main/java/me/zhyd/oauth/request/AuthPinterestRequest.java b/src/main/java/me/zhyd/oauth/request/AuthPinterestRequest.java index 17ec8e2..a8f5c38 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthPinterestRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthPinterestRequest.java @@ -43,10 +43,8 @@ public class AuthPinterestRequest extends AuthDefaultRequest { @Override protected AuthUser getUserInfo(AuthToken authToken) { - String userinfoUrl = UrlBuilder.fromBaseUrl(userInfoUrl(authToken)) - .queryParam("fields", "id,username,first_name,last_name,bio,image") - .build(); - HttpResponse response = HttpRequest.post(userinfoUrl).execute(); + String userinfoUrl = userInfoUrl(authToken); + HttpResponse response = HttpRequest.get(userinfoUrl).setFollowRedirects(true).execute(); JSONObject object = JSONObject.parseObject(response.body()); this.checkResponse(object); JSONObject userObj = object.getJSONObject("data"); @@ -82,6 +80,19 @@ public class AuthPinterestRequest extends AuthDefaultRequest { .build(); } + /** + * 返回获取userInfo的url + * + * @param authToken token + * @return 返回获取userInfo的url + */ + protected String userInfoUrl(AuthToken authToken) { + return UrlBuilder.fromBaseUrl(source.userInfo()) + .queryParam("access_token", authToken.getAccessToken()) + .queryParam("fields", "id,username,first_name,last_name,bio,image") + .build(); + } + /** * 检查响应内容是否正确 * diff --git a/src/main/java/me/zhyd/oauth/request/AuthRenrenRequest.java b/src/main/java/me/zhyd/oauth/request/AuthRenrenRequest.java index c1fb3b6..6888764 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthRenrenRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthRenrenRequest.java @@ -100,7 +100,7 @@ public class AuthRenrenRequest extends AuthDefaultRequest { /** * 返回获取userInfo的url * - * @param authToken + * @param authToken 用户授权后的token * @return 返回获取userInfo的url */ @Override diff --git a/src/main/java/me/zhyd/oauth/request/AuthWeiboRequest.java b/src/main/java/me/zhyd/oauth/request/AuthWeiboRequest.java index 0297ba7..cf1df17 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthWeiboRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthWeiboRequest.java @@ -76,7 +76,7 @@ public class AuthWeiboRequest extends AuthDefaultRequest { /** * 返回获取userInfo的url * - * @param authToken + * @param authToken authToken * @return 返回获取userInfo的url */ @Override diff --git a/src/main/java/me/zhyd/oauth/utils/AuthChecker.java b/src/main/java/me/zhyd/oauth/utils/AuthChecker.java index b4e3655..33b59c3 100644 --- a/src/main/java/me/zhyd/oauth/utils/AuthChecker.java +++ b/src/main/java/me/zhyd/oauth/utils/AuthChecker.java @@ -26,6 +26,9 @@ public class AuthChecker { if (isSupported && AuthSource.ALIPAY == source) { isSupported = StringUtils.isNotEmpty(config.getAlipayPublicKey()); } + if (isSupported && AuthSource.STACK_OVERFLOW == source) { + isSupported = StringUtils.isNotEmpty(config.getStackOverflowKey()); + } return isSupported; } diff --git a/src/main/java/me/zhyd/oauth/utils/GlobalAuthUtil.java b/src/main/java/me/zhyd/oauth/utils/GlobalAuthUtil.java index 634463f..88928c1 100644 --- a/src/main/java/me/zhyd/oauth/utils/GlobalAuthUtil.java +++ b/src/main/java/me/zhyd/oauth/utils/GlobalAuthUtil.java @@ -45,7 +45,7 @@ public class GlobalAuthUtil { } } - private static String urlEncode(String value) { + public static String urlEncode(String value) { if (value == null) { return ""; } diff --git a/src/main/java/me/zhyd/oauth/utils/UrlBuilder.java b/src/main/java/me/zhyd/oauth/utils/UrlBuilder.java index f34be27..e392f05 100644 --- a/src/main/java/me/zhyd/oauth/utils/UrlBuilder.java +++ b/src/main/java/me/zhyd/oauth/utils/UrlBuilder.java @@ -14,7 +14,6 @@ import java.util.Map; *

* * @author yangkai.shen (https://xkcoding.com) - * @date Created in 2019-07-18 15:47 * @version 1.0 * @since 1.8 */ diff --git a/update.md b/update.md index 70d7689..d4ba6fd 100644 --- a/update.md +++ b/update.md @@ -1,5 +1,11 @@ ### 2019/07/19 +1. 增加`stackoverflow`参数校验 +2. 解决`Pinterest`获取用户失败的问题 +3. 添加注释 + +### 2019/07/19 + 1. 合并github上[@dyc12ii](https://github.com/dyc12ii) 的[pr#25](https://github.com/zhangyd-c/JustAuth/pull/25),升级fastjson版本至1.2.58,避免安全漏洞 2. `AuthUserGender`枚举类挪到`enums`包下 3. 删除`AuthBaiduErrorCode`和`AuthDingTalkErrorCode`枚举类