提交 7ace4103 编写于 作者: S skqing

解决抖音登录问题:

1.抖音的client_id换成client_key了
2.抖音的地址后面必须加上/否则报错
上级 dcf5f30e
...@@ -457,12 +457,12 @@ public enum ApiUrl { ...@@ -457,12 +457,12 @@ public enum ApiUrl {
@Override @Override
public String accessToken() { public String accessToken() {
return "https://open.douyin.com/oauth/access_token"; return "https://open.douyin.com/oauth/access_token/";
} }
@Override @Override
public String userInfo() { public String userInfo() {
return "https://open.douyin.com/oauth/userinfo"; return "https://open.douyin.com/oauth/userinfo/";
} }
@Override @Override
......
...@@ -36,9 +36,10 @@ public class AuthDingTalkRequest extends BaseAuthRequest { ...@@ -36,9 +36,10 @@ public class AuthDingTalkRequest extends BaseAuthRequest {
// 根据timestamp, appSecret计算签名值 // 根据timestamp, appSecret计算签名值
String stringToSign = System.currentTimeMillis() + ""; String stringToSign = System.currentTimeMillis() + "";
String urlEncodeSignature = GlobalAuthUtil.generateDingTalkSignature(config.getClientSecret(), stringToSign); String urlEncodeSignature = GlobalAuthUtil.generateDingTalkSignature(config.getClientSecret(), stringToSign);
String url = UrlBuilder.getDingTalkUserInfoUrl(urlEncodeSignature, stringToSign, config.getClientId());
JSONObject param = new JSONObject(); JSONObject param = new JSONObject();
param.put("tmp_auth_code", code); param.put("tmp_auth_code", code);
HttpResponse response = HttpRequest.post(UrlBuilder.getDingTalkUserInfoUrl(urlEncodeSignature, stringToSign, config.getClientId())) HttpResponse response = HttpRequest.post(url)
.body(param.toJSONString()) .body(param.toJSONString())
.execute(); .execute();
String userInfo = response.body(); String userInfo = response.body();
......
...@@ -32,16 +32,18 @@ public class AuthDouyinRequest extends BaseAuthRequest { ...@@ -32,16 +32,18 @@ public class AuthDouyinRequest extends BaseAuthRequest {
protected AuthUser getUserInfo(AuthToken authToken) { protected AuthUser getUserInfo(AuthToken authToken) {
String accessToken = authToken.getAccessToken(); String accessToken = authToken.getAccessToken();
String openId = authToken.getOpenId(); String openId = authToken.getOpenId();
HttpResponse response = HttpRequest.get(UrlBuilder.getDouyinUserInfoUrl(accessToken, openId)).execute(); String url = UrlBuilder.getDouyinUserInfoUrl(accessToken, openId);
HttpResponse response = HttpRequest.get(url).execute();
JSONObject object = JSONObject.parseObject(response.body()); JSONObject object = JSONObject.parseObject(response.body());
JSONObject userInfoObject = this.checkResponse(object); JSONObject userInfoObject = this.checkResponse(object);
return AuthUser.builder() return AuthUser.builder()
.uuid(userInfoObject.getString("open_id")) .uuid(userInfoObject.getString("union_id"))
.username(userInfoObject.getString("nickname")) .username(userInfoObject.getString("nickname"))
.nickname(userInfoObject.getString("nickname")) .nickname(userInfoObject.getString("nickname"))
.avatar(userInfoObject.getString("avatar")) .avatar(userInfoObject.getString("avatar"))
.remark(userInfoObject.getString("description"))
.gender(AuthUserGender.UNKNOW) .gender(AuthUserGender.UNKNOW)
.token(authToken) .token(authToken)
.source(AuthSource.DOUYIN) .source(AuthSource.DOUYIN)
......
...@@ -73,7 +73,7 @@ public class UrlBuilder { ...@@ -73,7 +73,7 @@ public class UrlBuilder {
private static final String FACEBOOK_USER_INFO_PATTERN = "{0}?access_token={1}&fields=id,name,birthday,gender,hometown,email,devices,picture.width(400)"; private static final String FACEBOOK_USER_INFO_PATTERN = "{0}?access_token={1}&fields=id,name,birthday,gender,hometown,email,devices,picture.width(400)";
private static final String DOUYIN_AUTHORIZE_PATTERN = "{0}?client_key={1}&redirect_uri={2}&state={3}&response_type=code&scope=user_info"; private static final String DOUYIN_AUTHORIZE_PATTERN = "{0}?client_key={1}&redirect_uri={2}&state={3}&response_type=code&scope=user_info";
private static final String DOUYIN_ACCESS_TOKEN_PATTERN = "{0}?client_id={1}&client_secret={2}&code={3}&grant_type=authorization_code"; private static final String DOUYIN_ACCESS_TOKEN_PATTERN = "{0}?client_key={1}&client_secret={2}&code={3}&grant_type=authorization_code";
private static final String DOUYIN_USER_INFO_PATTERN = "{0}?access_token={1}&open_id={2}"; private static final String DOUYIN_USER_INFO_PATTERN = "{0}?access_token={1}&open_id={2}";
private static final String DOUYIN_REFRESH_TOKEN_PATTERN = "{0}?client_key={1}&refresh_token={2}&grant_type=refresh_token"; private static final String DOUYIN_REFRESH_TOKEN_PATTERN = "{0}?client_key={1}&refresh_token={2}&grant_type=refresh_token";
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册