From 11707e6903a27aacf82140ca62f5e08044e060af Mon Sep 17 00:00:00 2001 From: "yadong.zhang" Date: Sun, 26 Feb 2023 17:54:58 +0800 Subject: [PATCH] =?UTF-8?q?:fire:=20=E5=BE=AE=E4=BF=A1=E5=85=AC=E4=BC=97?= =?UTF-8?q?=E5=B9=B3=E5=8F=B0=E6=94=AF=E6=8C=81=E8=BF=94=E5=9B=9E=E5=BF=AB?= =?UTF-8?q?=E7=85=A7=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/me/zhyd/oauth/model/AuthToken.java | 6 ++++++ src/main/java/me/zhyd/oauth/model/AuthUser.java | 7 +++++++ .../java/me/zhyd/oauth/request/AuthWeChatMpRequest.java | 2 ++ 3 files changed, 15 insertions(+) diff --git a/src/main/java/me/zhyd/oauth/model/AuthToken.java b/src/main/java/me/zhyd/oauth/model/AuthToken.java index e729b1d..eb4c42b 100644 --- a/src/main/java/me/zhyd/oauth/model/AuthToken.java +++ b/src/main/java/me/zhyd/oauth/model/AuthToken.java @@ -44,6 +44,12 @@ public class AuthToken implements Serializable { * @since 1.10.0 */ private String code; + /** + * 微信公众号 - 网页授权的登录时可用 + * + * 微信针对网页授权登录,增加了一个快照页的逻辑,快照页获取到的微信用户的 uid oid 和头像昵称都是虚拟的信息 + */ + private boolean snapshotUser; /** * Twitter附带属性 diff --git a/src/main/java/me/zhyd/oauth/model/AuthUser.java b/src/main/java/me/zhyd/oauth/model/AuthUser.java index 530e73a..ab88b52 100644 --- a/src/main/java/me/zhyd/oauth/model/AuthUser.java +++ b/src/main/java/me/zhyd/oauth/model/AuthUser.java @@ -72,4 +72,11 @@ public class AuthUser implements Serializable { */ private JSONObject rawUserInfo; + /** + * 微信公众号 - 网页授权的登录时可用 + * + * 微信针对网页授权登录,增加了一个快照页的逻辑,快照页获取到的微信用户的 uid oid 和头像昵称都是虚拟的信息 + */ + private boolean snapshotUser; + } diff --git a/src/main/java/me/zhyd/oauth/request/AuthWeChatMpRequest.java b/src/main/java/me/zhyd/oauth/request/AuthWeChatMpRequest.java index 94fcba8..5ee1374 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthWeChatMpRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthWeChatMpRequest.java @@ -65,6 +65,7 @@ public class AuthWeChatMpRequest extends AuthDefaultRequest { .avatar(object.getString("headimgurl")) .location(location) .uuid(openId) + .snapshotUser(authToken.isSnapshotUser()) .gender(AuthUserGender.getWechatRealGender(object.getString("sex"))) .token(authToken) .source(source.toString()) @@ -108,6 +109,7 @@ public class AuthWeChatMpRequest extends AuthDefaultRequest { .expireIn(accessTokenObject.getIntValue("expires_in")) .openId(accessTokenObject.getString("openid")) .scope(accessTokenObject.getString("scope")) + .snapshotUser(accessTokenObject.getIntValue("is_snapshotuser") == 1) .build(); }