diff --git a/src/main/java/me/zhyd/oauth/config/AuthDefaultSource.java b/src/main/java/me/zhyd/oauth/config/AuthDefaultSource.java index c471da7e0940fa1423ee8eee33230ccb5f006702..ea99d3d7467e510a65d99dbef479529c1d708450 100644 --- a/src/main/java/me/zhyd/oauth/config/AuthDefaultSource.java +++ b/src/main/java/me/zhyd/oauth/config/AuthDefaultSource.java @@ -744,7 +744,7 @@ public enum AuthDefaultSource implements AuthSource { @Override public String userInfo() { - return "https://api.twitter.com/1.1/users/show.json"; + return "https://api.twitter.com/1.1/account/verify_credentials.json"; } }, diff --git a/src/main/java/me/zhyd/oauth/request/AuthTwitterRequest.java b/src/main/java/me/zhyd/oauth/request/AuthTwitterRequest.java index 7275a3cd38ba3b1f42a3d4cd23a182ba30ad6dba..5968a077aee05659c58db2f1fbbf78a745cf79a5 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthTwitterRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthTwitterRequest.java @@ -1,7 +1,6 @@ package me.zhyd.oauth.request; import com.alibaba.fastjson.JSONObject; -import me.zhyd.oauth.utils.HttpUtils; import com.xkcoding.http.constants.Constants; import com.xkcoding.http.support.HttpHeader; import com.xkcoding.http.util.MapUtil; @@ -11,6 +10,7 @@ import me.zhyd.oauth.model.AuthCallback; import me.zhyd.oauth.model.AuthToken; import me.zhyd.oauth.model.AuthUser; import me.zhyd.oauth.utils.GlobalAuthUtils; +import me.zhyd.oauth.utils.HttpUtils; import me.zhyd.oauth.utils.UrlBuilder; import java.util.HashMap; @@ -47,7 +47,7 @@ public class AuthTwitterRequest extends AuthDefaultRequest { */ @Override public String authorize(String state) { - AuthToken token = this.getRequestToken(); + AuthToken token = this.getRequestToken(); return UrlBuilder.fromBaseUrl(source.authorize()) .queryParam("oauth_token", token.getOauthToken()) .build(); @@ -119,17 +119,15 @@ public class AuthTwitterRequest extends AuthDefaultRequest { @Override protected AuthUser getUserInfo(AuthToken authToken) { Map queryParams = new HashMap<>(5); - queryParams.put("user_id", authToken.getUserId()); - queryParams.put("screen_name", authToken.getScreenName()); queryParams.put("include_entities", Boolean.toString(true)); + queryParams.put("include_email", Boolean.toString(true)); Map oauthParams = buildOauthParams(); oauthParams.put("oauth_token", authToken.getOauthToken()); Map params = new HashMap<>(oauthParams); params.putAll(queryParams); - oauthParams.put("oauth_signature", generateTwitterSignature(params, "GET", source.userInfo(), config.getClientSecret(), authToken - .getOauthTokenSecret())); + oauthParams.put("oauth_signature", generateTwitterSignature(params, "GET", source.userInfo(), config.getClientSecret(), authToken.getOauthTokenSecret())); String header = buildHeader(oauthParams); HttpHeader httpHeader = new HttpHeader(); @@ -147,6 +145,7 @@ public class AuthTwitterRequest extends AuthDefaultRequest { .blog(userInfo.getString("url")) .location(userInfo.getString("location")) .avatar(userInfo.getString("profile_image_url")) + .email(userInfo.getString("email")) .source(source.toString()) .token(authToken) .build(); @@ -155,9 +154,8 @@ public class AuthTwitterRequest extends AuthDefaultRequest { @Override protected String userInfoUrl(AuthToken authToken) { return UrlBuilder.fromBaseUrl(source.userInfo()) - .queryParam("user_id", authToken.getUserId()) - .queryParam("screen_name", authToken.getScreenName()) .queryParam("include_entities", true) + .queryParam("include_email", true) .build(); }