From 525c406c92a176bde58e8905fcade3c9c0f390ca Mon Sep 17 00:00:00 2001 From: "yadong.zhang" Date: Tue, 10 Dec 2019 17:15:19 +0800 Subject: [PATCH] =?UTF-8?q?:bug:=20=E4=BF=AE=E5=A4=8D=E6=8A=96=E9=9F=B3?= =?UTF-8?q?=E7=99=BB=E5=BD=95=E5=8F=96=E5=80=BC=E5=8F=96=E9=94=99=E5=B1=82?= =?UTF-8?q?=E7=BA=A7=E7=9A=84=E9=97=AE=E9=A2=98=EF=BC=88issue#I15SIG@Gitee?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/oauth.md | 2 +- .../oauth/request/AuthDefaultRequest.java | 9 +++++-- .../zhyd/oauth/request/AuthDouyinRequest.java | 25 +++++++++++-------- 3 files changed, 22 insertions(+), 14 deletions(-) diff --git a/docs/oauth.md b/docs/oauth.md index 897c15d..9b46b35 100644 --- a/docs/oauth.md +++ b/docs/oauth.md @@ -67,7 +67,7 @@ - 网站B:可以理解成 Oschina - 第三方C:可以理解成 Github -需求:你想通过Github第三方登录Oschina +需求:你想通过Github第三方登录Oschina。(_注:下面的内容为流程图,如果您在阅读的时候显示为纯文字,请刷新页面_)
sequenceDiagram diff --git a/src/main/java/me/zhyd/oauth/request/AuthDefaultRequest.java b/src/main/java/me/zhyd/oauth/request/AuthDefaultRequest.java index 27f1d09..eb44f39 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthDefaultRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthDefaultRequest.java @@ -94,10 +94,15 @@ public abstract class AuthDefaultRequest implements AuthRequest { */ private AuthResponse responseError(Exception e) { int errorCode = AuthResponseStatus.FAILURE.getCode(); + String errorMsg = e.getMessage(); if (e instanceof AuthException) { - errorCode = ((AuthException) e).getErrorCode(); + AuthException authException = ((AuthException) e); + errorCode = authException.getErrorCode(); + if (StringUtils.isNotEmpty(authException.getErrorMsg())) { + errorMsg = authException.getErrorMsg(); + } } - return AuthResponse.builder().code(errorCode).msg(e.getMessage()).build(); + return AuthResponse.builder().code(errorCode).msg(errorMsg).build(); } /** diff --git a/src/main/java/me/zhyd/oauth/request/AuthDouyinRequest.java b/src/main/java/me/zhyd/oauth/request/AuthDouyinRequest.java index 531e7b3..51f9c5d 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthDouyinRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthDouyinRequest.java @@ -42,13 +42,15 @@ public class AuthDouyinRequest extends AuthDefaultRequest { HttpResponse response = doGetUserInfo(authToken); JSONObject userInfoObject = JSONObject.parseObject(response.body()); this.checkResponse(userInfoObject); + JSONObject dataObj = userInfoObject.getJSONObject("data"); return AuthUser.builder() - .uuid(userInfoObject.getString("union_id")) - .username(userInfoObject.getString("nickname")) - .nickname(userInfoObject.getString("nickname")) - .avatar(userInfoObject.getString("avatar")) - .remark(userInfoObject.getString("description")) - .gender(AuthUserGender.UNKNOWN) + .uuid(dataObj.getString("union_id")) + .username(dataObj.getString("nickname")) + .nickname(dataObj.getString("nickname")) + .avatar(dataObj.getString("avatar")) + .remark(dataObj.getString("description")) + .gender(AuthUserGender.getRealGender(dataObj.getString("gender"))) + .location(String.format("%s %s %s", dataObj.getString("country"), dataObj.getString("province"), dataObj.getString("city"))) .token(authToken) .source(source.toString()) .build(); @@ -87,12 +89,13 @@ public class AuthDouyinRequest extends AuthDefaultRequest { String accessTokenStr = response.body(); JSONObject object = JSONObject.parseObject(accessTokenStr); this.checkResponse(object); + JSONObject dataObj = object.getJSONObject("data"); return AuthToken.builder() - .accessToken(object.getString("access_token")) - .openId(object.getString("open_id")) - .expireIn(object.getIntValue("expires_in")) - .refreshToken(object.getString("refresh_token")) - .scope(object.getString("scope")) + .accessToken(dataObj.getString("access_token")) + .openId(dataObj.getString("open_id")) + .expireIn(dataObj.getIntValue("expires_in")) + .refreshToken(dataObj.getString("refresh_token")) + .scope(dataObj.getString("scope")) .build(); } -- GitLab