diff --git a/src/main/java/me/zhyd/oauth/request/AuthMiRequest.java b/src/main/java/me/zhyd/oauth/request/AuthMiRequest.java index 3903a952a406bce6aa4979436a62076f1fcfd27e..27ad736188a0eb87aa510304a9c6b44bc4d24532 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; @@ -20,6 +21,7 @@ import java.text.MessageFormat; * @version 1.5 * @since 1.5 */ +@Slf4j public class AuthMiRequest extends AuthDefaultRequest { private static final String PREFIX = "&&&START&&&"; @@ -90,6 +92,8 @@ public class AuthMiRequest extends AuthDefaultRequest { 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/request/AuthWeChatRequest.java b/src/main/java/me/zhyd/oauth/request/AuthWeChatRequest.java index 7f7cb169390e3991417c972cbb3058487e666574..82a1662796ce1232849b7631821c22b3a483c2cd 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthWeChatRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthWeChatRequest.java @@ -48,6 +48,11 @@ public class AuthWeChatRequest extends AuthDefaultRequest { 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")) diff --git a/src/main/java/me/zhyd/oauth/url/AuthMiUrlBuilder.java b/src/main/java/me/zhyd/oauth/url/AuthMiUrlBuilder.java index 728cf72df288f7258cf39229f8e4c33703c8df87..deae372bbef685fbc09e1937356f8c837533d8da 100644 --- a/src/main/java/me/zhyd/oauth/url/AuthMiUrlBuilder.java +++ b/src/main/java/me/zhyd/oauth/url/AuthMiUrlBuilder.java @@ -16,7 +16,7 @@ import java.text.MessageFormat; */ public class AuthMiUrlBuilder extends AuthDefaultUrlBuilder { - 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";