diff --git a/README.md b/README.md
index d330815fcb7914f5d001b471bcb6dad72e391d48..e9758b9251ede406a02bd7c8c29a82b67ba4b226 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.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 c0d9d7d6dc9162c9c56812108a0c55ada8c6c28c..32f3962c0ebca271de06e9dca506f188fbe63f82 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
@@ -57,7 +57,7 @@
4.5.15
1.18.4
4.11
- 1.2.44
+ 1.2.58
3.7.4.ALL
1.7.25
@@ -190,4 +190,4 @@
-
\ No newline at end of file
+
diff --git a/src/main/java/me/zhyd/oauth/config/AuthSource.java b/src/main/java/me/zhyd/oauth/config/AuthSource.java
index f7122108d76cc767d328e81a889029a94bd096bc..1ea6704427bfa47502506e8c6cf626559ec6b1e9 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 18b49ad33ddb105af02256acb04836ee09de22da..07ce7da703a57a1aa77c681990c609d1c8a6dc28 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 92d97a3b66d84b30955d456d1acfe39cc74e183e..5ce2149a1ebdd3c4f4fa4314e8fbdf12f203f1cb 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 070d57beac17ac03efa1def3fb292052b6a20d15..98e45bfdbec639cdce1631408c0b5c3cf4ff35ac 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 9043f045a71c28d709a70c5313b934455dc55169..3a72d3701643900d9dd727d790aefff508186ab7 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 9f022fed84611d824b3c70af13102a40181fb10e..1774a159d1a3b2f439878650c2386d1a0cce7ec9 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;
@@ -81,6 +80,7 @@ public abstract class AuthDefaultRequest implements AuthRequest {
/**
* 返回获取accessToken的url
*
+ * @param code 授权码
* @return 返回获取accessToken的url
*/
protected String accessTokenUrl(String code) {
@@ -96,6 +96,7 @@ public abstract class AuthDefaultRequest implements AuthRequest {
/**
* 返回获取accessToken的url
*
+ * @param refreshToken refreshToken
* @return 返回获取accessToken的url
*/
protected String refreshTokenUrl(String refreshToken) {
@@ -111,6 +112,7 @@ public abstract class AuthDefaultRequest implements AuthRequest {
/**
* 返回获取userInfo的url
*
+ * @param authToken token
* @return 返回获取userInfo的url
*/
protected String userInfoUrl(AuthToken authToken) {
@@ -120,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 69956a77de86ffc5b3b89a79d98eb2f92e838906..ce0f52fdde8ef4be657b9cd660edb7c425ea4ab8 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();
}
@@ -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/AuthDouyinRequest.java b/src/main/java/me/zhyd/oauth/request/AuthDouyinRequest.java
index 9c46b4fb02dd5c79fca172828dd413b66f71af64..a68f232291330759c870c35570926f7bbdb517f1 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 771c894104d228056262eda062767629ab0d3a6f..6d7cc2bab621106c0d703561791df855f9d2b241 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 0522003d42eb80da151cbdd20da8e3577a0a7f92..e32c1243e3107de906cd4e6e33221ea03d35667c 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 c843a8b104779b480a60661261a8a21eecd70fbd..f71378ced50992fc05c9ccba06b15ccaed3c5035 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 a6a603af5ab441b3327661c1387fa4e5131c9878..61b4f7fba2c0bf88139e33ccf5a38e86c2b9d281 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 返回授权地址
*/
@@ -76,12 +80,12 @@ public class AuthGoogleRequest extends AuthDefaultRequest {
/**
* 返回获取userInfo的url
*
- * @param authToken
+ * @param authToken 用户授权后的token
* @return 返回获取userInfo的url
*/
@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/AuthLinkedinRequest.java b/src/main/java/me/zhyd/oauth/request/AuthLinkedinRequest.java
index b552256211bdf9b8c0f85837aa11be829ca7c6be..e22a7417c0360f7ecdae406a4ba3206b89bd4612 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) {
@@ -204,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 2fddab29c7ff4d5549f391ba2ceea210b1026063..0ac9e00882d8a718cafc85e06e6caebf438b6b42 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();
// 获取用户邮箱手机号等信息
@@ -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 4b5e864d74d91778e225fa5c8b2bbfa24173e58b..addd187ede4c37328f6e7896b8b0ccb879abc795 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();
}
@@ -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 955a8071bab81caead9cbe41278fe69e33799e9b..58cc74367bb3dc819e3cd2639387a4ff1115e19a 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();
}
@@ -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 e86a2479c7c5176bb0c429325a9b1ffaff1c79b9..a8f5c3835e3348196ef8ee3b8fe4d69bf2f08545 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 {
@@ -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");
@@ -58,7 +56,7 @@ public class AuthPinterestRequest extends AuthDefaultRequest {
.gender(AuthUserGender.UNKNOWN)
.remark(userObj.getString("bio"))
.token(authToken)
- .source(PINTEREST)
+ .source(source)
.build();
}
@@ -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/AuthQqRequest.java b/src/main/java/me/zhyd/oauth/request/AuthQqRequest.java
index 7943ea340ff16edb49782f12a2ea10f755bebd3e..1b8d6f9182891923b4cef3c2111d1fb18c3b4a37 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 c4d4af5d38577a4275f0f22b21eb1192bcefca40..6888764dc40b2737ce31cfce93819562b3509a54 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 {
@@ -45,7 +45,7 @@ public class AuthRenrenRequest extends AuthDefaultRequest {
.company(getCompany(userObj))
.gender(getGender(userObj))
.token(authToken)
- .source(RENREN)
+ .source(source)
.build();
}
@@ -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/AuthStackOverflowRequest.java b/src/main/java/me/zhyd/oauth/request/AuthStackOverflowRequest.java
index 3784012f17bb28b1b66ed9e46eb939d7c712aa4c..c23439e75a48e6b4cbfb1bb9ba7c6b5b9121065a 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 {
@@ -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 55760bdeb191bcf9182f00f1df98f3b4d60782a4..7a3b522eadbbbddabf848b03a66db274564a7a82 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 81c6b3cb0281e59051a6501cc97d8b5d09bb69ba..d8e79f6068ef28d0e6f1d76e07638fa98aa5e5ce 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 8a817c4715c73ebcfcd3e250180a4eb3d2c86899..7aaa77dc1d497812d4543508339a7abd5eac9519 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 85ff25e21121894829ec4910833b3c06c09d1d1a..2a1c9790f0f85e7329bfbfc949f1449dff05a0cf 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 2d426c5fc0b4f246ac0c45cb0516fb7c805901ff..dbc029a7f37a8a4f19adb9571077ce917a0a3d97 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 a7925730da8e64b57ae8ec3ae959735db8a8e862..cf1df17d290a0902397e729209149f6ff97f7e4b 100644
--- a/src/main/java/me/zhyd/oauth/request/AuthWeiboRequest.java
+++ b/src/main/java/me/zhyd/oauth/request/AuthWeiboRequest.java
@@ -69,14 +69,14 @@ public class AuthWeiboRequest extends AuthDefaultRequest {
.remark(object.getString("description"))
.gender(AuthUserGender.getRealGender(object.getString("gender")))
.token(authToken)
- .source(AuthSource.WEIBO)
+ .source(source)
.build();
}
/**
* 返回获取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 b4e36551ceb85cf34e50545a82df81a90eea7345..33b59c3556bb3686a7644e0f24746d8462517ce6 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 634463f914e619b1ecc3916c765c5f85fbc65f42..88928c15f54c2a68fa84358a424ba25273bde0d6 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 f34be27d57403fa4bb5348de961bee1eab0ef662..e392f059e1225dc9fb19d6841c12b7e8966f8282 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/src/test/java/me/zhyd/oauth/utils/CustomTest.java b/src/test/java/me/zhyd/oauth/utils/CustomTest.java
index eab7dddd64aff3aacd6e787f1292b84059d9a344..b7a7c657725e3f73c8fe4aeba4aff1f2dae90c83 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