🐛 解决 Line 的 bug。Github Issue (#122)
This commit is contained in:
@@ -37,7 +37,22 @@ public class AuthLineRequest extends AuthDefaultRequest {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected AuthToken getAccessToken(AuthCallback authCallback) {
|
protected AuthToken getAccessToken(AuthCallback authCallback) {
|
||||||
return this.getToken(accessTokenUrl(authCallback.getCode()));
|
Map<String, String> params = new HashMap<>();
|
||||||
|
params.put("grant_type", "authorization_code");
|
||||||
|
params.put("code", authCallback.getCode());
|
||||||
|
params.put("redirect_uri", config.getRedirectUri());
|
||||||
|
params.put("client_id", config.getClientId());
|
||||||
|
params.put("client_secret", config.getClientSecret());
|
||||||
|
String response = new HttpUtils(config.getHttpConfig()).post(source.accessToken(), params, false);
|
||||||
|
JSONObject accessTokenObject = JSONObject.parseObject(response);
|
||||||
|
return AuthToken.builder()
|
||||||
|
.accessToken(accessTokenObject.getString("access_token"))
|
||||||
|
.refreshToken(accessTokenObject.getString("refresh_token"))
|
||||||
|
.expireIn(accessTokenObject.getIntValue("expires_in"))
|
||||||
|
.idToken(accessTokenObject.getString("id_token"))
|
||||||
|
.scope(accessTokenObject.getString("scope"))
|
||||||
|
.tokenType(accessTokenObject.getString("token_type"))
|
||||||
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -74,28 +89,23 @@ public class AuthLineRequest extends AuthDefaultRequest {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public AuthResponse refresh(AuthToken oldToken) {
|
public AuthResponse refresh(AuthToken oldToken) {
|
||||||
|
Map<String, String> params = new HashMap<>();
|
||||||
|
params.put("grant_type", "refresh_token");
|
||||||
|
params.put("refresh_token", oldToken.getRefreshToken());
|
||||||
|
params.put("client_id", config.getClientId());
|
||||||
|
params.put("client_secret", config.getClientSecret());
|
||||||
|
String response = new HttpUtils(config.getHttpConfig()).post(source.accessToken(), params, false);
|
||||||
|
JSONObject accessTokenObject = JSONObject.parseObject(response);
|
||||||
return AuthResponse.builder()
|
return AuthResponse.builder()
|
||||||
.code(AuthResponseStatus.SUCCESS.getCode())
|
.code(AuthResponseStatus.SUCCESS.getCode())
|
||||||
.data(this.getToken(refreshTokenUrl(oldToken.getRefreshToken())))
|
.data(AuthToken.builder()
|
||||||
.build();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取token,适用于获取access_token和刷新token
|
|
||||||
*
|
|
||||||
* @param accessTokenUrl 实际请求token的地址
|
|
||||||
* @return token对象
|
|
||||||
*/
|
|
||||||
private AuthToken getToken(String accessTokenUrl) {
|
|
||||||
String response = new HttpUtils(config.getHttpConfig()).post(accessTokenUrl);
|
|
||||||
JSONObject accessTokenObject = JSONObject.parseObject(response);
|
|
||||||
return AuthToken.builder()
|
|
||||||
.accessToken(accessTokenObject.getString("access_token"))
|
.accessToken(accessTokenObject.getString("access_token"))
|
||||||
.refreshToken(accessTokenObject.getString("refresh_token"))
|
.refreshToken(accessTokenObject.getString("refresh_token"))
|
||||||
.expireIn(accessTokenObject.getIntValue("expires_in"))
|
.expireIn(accessTokenObject.getIntValue("expires_in"))
|
||||||
.idToken(accessTokenObject.getString("id_token"))
|
.idToken(accessTokenObject.getString("id_token"))
|
||||||
.scope(accessTokenObject.getString("scope"))
|
.scope(accessTokenObject.getString("scope"))
|
||||||
.tokenType(accessTokenObject.getString("token_type"))
|
.tokenType(accessTokenObject.getString("token_type"))
|
||||||
|
.build())
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user