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`枚举类