💩 getAccessTokengetUserInfo两个方法从AuthDefaultRequest提升至AuthRequest中,方便直接使用。[Github Issue#194](https://github.com/justauth/JustAuth/issues/194)

This commit is contained in:
yadong.zhang 2024-08-03 18:27:36 +08:00
parent 15b1a974f3
commit 6d8b3b5f1d
46 changed files with 106 additions and 106 deletions

View File

@ -34,12 +34,12 @@ public abstract class AbstractAuthDingtalkRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthToken getAccessToken(AuthCallback authCallback) { public AuthToken getAccessToken(AuthCallback authCallback) {
return AuthToken.builder().accessCode(authCallback.getCode()).build(); return AuthToken.builder().accessCode(authCallback.getCode()).build();
} }
@Override @Override
protected AuthUser getUserInfo(AuthToken authToken) { public AuthUser getUserInfo(AuthToken authToken) {
String code = authToken.getAccessCode(); String code = authToken.getAccessCode();
JSONObject param = new JSONObject(); JSONObject param = new JSONObject();
param.put("tmp_auth_code", code); param.put("tmp_auth_code", code);

View File

@ -39,7 +39,7 @@ public abstract class AbstractAuthMicrosoftRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthToken getAccessToken(AuthCallback authCallback) { public AuthToken getAccessToken(AuthCallback authCallback) {
return getToken(accessTokenUrl(authCallback.getCode())); return getToken(accessTokenUrl(authCallback.getCode()));
} }
@ -80,7 +80,7 @@ public abstract class AbstractAuthMicrosoftRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthUser getUserInfo(AuthToken authToken) { public AuthUser getUserInfo(AuthToken authToken) {
String token = authToken.getAccessToken(); String token = authToken.getAccessToken();
String tokenType = authToken.getTokenType(); String tokenType = authToken.getTokenType();
String jwt = tokenType + " " + token; String jwt = tokenType + " " + token;

View File

@ -34,7 +34,7 @@ public abstract class AbstractAuthWeChatEnterpriseRequest extends AuthDefaultReq
} }
@Override @Override
protected AuthToken getAccessToken(AuthCallback authCallback) { public AuthToken getAccessToken(AuthCallback authCallback) {
String response = doGetAuthorizationCode(accessTokenUrl(null)); String response = doGetAuthorizationCode(accessTokenUrl(null));
JSONObject object = this.checkResponse(response); JSONObject object = this.checkResponse(response);
@ -47,7 +47,7 @@ public abstract class AbstractAuthWeChatEnterpriseRequest extends AuthDefaultReq
} }
@Override @Override
protected AuthUser getUserInfo(AuthToken authToken) { public AuthUser getUserInfo(AuthToken authToken) {
String response = doGetUserInfo(authToken); String response = doGetUserInfo(authToken);
JSONObject object = this.checkResponse(response); JSONObject object = this.checkResponse(response);

View File

@ -30,7 +30,7 @@ public class AuthAfDianRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthToken getAccessToken(AuthCallback authCallback) { public AuthToken getAccessToken(AuthCallback authCallback) {
Map<String, String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();
params.put("grant_type", "authorization_code"); params.put("grant_type", "authorization_code");
params.put("client_id", config.getClientId()); params.put("client_id", config.getClientId());
@ -44,7 +44,7 @@ public class AuthAfDianRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthUser getUserInfo(AuthToken authToken) { public AuthUser getUserInfo(AuthToken authToken) {
return AuthUser.builder() return AuthUser.builder()
.uuid(authToken.getUserId()) .uuid(authToken.getUserId())
.gender(AuthUserGender.UNKNOWN) .gender(AuthUserGender.UNKNOWN)

View File

@ -147,7 +147,7 @@ public class AuthAlipayRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthToken getAccessToken(AuthCallback authCallback) { public AuthToken getAccessToken(AuthCallback authCallback) {
AlipaySystemOauthTokenRequest request = new AlipaySystemOauthTokenRequest(); AlipaySystemOauthTokenRequest request = new AlipaySystemOauthTokenRequest();
request.setGrantType("authorization_code"); request.setGrantType("authorization_code");
request.setCode(authCallback.getAuth_code()); request.setCode(authCallback.getAuth_code());
@ -200,7 +200,7 @@ public class AuthAlipayRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthUser getUserInfo(AuthToken authToken) { public AuthUser getUserInfo(AuthToken authToken) {
String accessToken = authToken.getAccessToken(); String accessToken = authToken.getAccessToken();
AlipayUserInfoShareRequest request = new AlipayUserInfoShareRequest(); AlipayUserInfoShareRequest request = new AlipayUserInfoShareRequest();
AlipayUserInfoShareResponse response = null; AlipayUserInfoShareResponse response = null;

View File

@ -26,7 +26,7 @@ public class AuthAliyunRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthToken getAccessToken(AuthCallback authCallback) { public AuthToken getAccessToken(AuthCallback authCallback) {
String response = doPostAuthorizationCode(authCallback.getCode()); String response = doPostAuthorizationCode(authCallback.getCode());
JSONObject accessTokenObject = JSONObject.parseObject(response); JSONObject accessTokenObject = JSONObject.parseObject(response);
return AuthToken.builder() return AuthToken.builder()
@ -39,7 +39,7 @@ public class AuthAliyunRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthUser getUserInfo(AuthToken authToken) { public AuthUser getUserInfo(AuthToken authToken) {
String userInfo = doGetUserInfo(authToken); String userInfo = doGetUserInfo(authToken);
JSONObject object = JSONObject.parseObject(userInfo); JSONObject object = JSONObject.parseObject(userInfo);
return AuthUser.builder() return AuthUser.builder()

View File

@ -77,7 +77,7 @@ public class AuthAmazonRequest extends AuthDefaultRequest {
* @return access token * @return access token
*/ */
@Override @Override
protected AuthToken getAccessToken(AuthCallback authCallback) { public AuthToken getAccessToken(AuthCallback authCallback) {
Map<String, String> form = new HashMap<>(9); Map<String, String> form = new HashMap<>(9);
form.put("grant_type", "authorization_code"); form.put("grant_type", "authorization_code");
form.put("code", authCallback.getCode()); form.put("code", authCallback.getCode());
@ -140,7 +140,7 @@ public class AuthAmazonRequest extends AuthDefaultRequest {
* @return AuthUser * @return AuthUser
*/ */
@Override @Override
protected AuthUser getUserInfo(AuthToken authToken) { public AuthUser getUserInfo(AuthToken authToken) {
String accessToken = authToken.getAccessToken(); String accessToken = authToken.getAccessToken();
this.checkToken(accessToken); this.checkToken(accessToken);

View File

@ -50,7 +50,7 @@ public class AuthAppleRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthToken getAccessToken(AuthCallback authCallback) { public AuthToken getAccessToken(AuthCallback authCallback) {
if (!StringUtils.isEmpty(authCallback.getError())) { if (!StringUtils.isEmpty(authCallback.getError())) {
throw new AuthException(authCallback.getError()); throw new AuthException(authCallback.getError());
} }
@ -76,7 +76,7 @@ public class AuthAppleRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthUser getUserInfo(AuthToken authToken) { public AuthUser getUserInfo(AuthToken authToken) {
Base64.Decoder urlDecoder = Base64.getUrlDecoder(); Base64.Decoder urlDecoder = Base64.getUrlDecoder();
String[] idToken = authToken.getIdToken().split("\\."); String[] idToken = authToken.getIdToken().split("\\.");
String payload = new String(urlDecoder.decode(idToken[1])); String payload = new String(urlDecoder.decode(idToken[1]));

View File

@ -34,7 +34,7 @@ public class AuthBaiduRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthToken getAccessToken(AuthCallback authCallback) { public AuthToken getAccessToken(AuthCallback authCallback) {
String response = doPostAuthorizationCode(authCallback.getCode()); String response = doPostAuthorizationCode(authCallback.getCode());
return getAuthToken(response); return getAuthToken(response);
} }
@ -48,7 +48,7 @@ public class AuthBaiduRequest extends AuthDefaultRequest {
* @return AuthUser * @return AuthUser
*/ */
@Override @Override
protected AuthUser getUserInfo(AuthToken authToken) { public AuthUser getUserInfo(AuthToken authToken) {
String userInfo = doGetUserInfo(authToken); String userInfo = doGetUserInfo(authToken);
JSONObject object = JSONObject.parseObject(userInfo); JSONObject object = JSONObject.parseObject(userInfo);
this.checkResponse(object); this.checkResponse(object);

View File

@ -30,7 +30,7 @@ public class AuthCodingRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthToken getAccessToken(AuthCallback authCallback) { public AuthToken getAccessToken(AuthCallback authCallback) {
String response = doGetAuthorizationCode(authCallback.getCode()); String response = doGetAuthorizationCode(authCallback.getCode());
JSONObject accessTokenObject = JSONObject.parseObject(response); JSONObject accessTokenObject = JSONObject.parseObject(response);
this.checkResponse(accessTokenObject); this.checkResponse(accessTokenObject);
@ -42,7 +42,7 @@ public class AuthCodingRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthUser getUserInfo(AuthToken authToken) { public AuthUser getUserInfo(AuthToken authToken) {
String response = doGetUserInfo(authToken); String response = doGetUserInfo(authToken);
JSONObject object = JSONObject.parseObject(response); JSONObject object = JSONObject.parseObject(response);
this.checkResponse(object); this.checkResponse(object);

View File

@ -28,7 +28,7 @@ public class AuthCsdnRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthToken getAccessToken(AuthCallback authCallback) { public AuthToken getAccessToken(AuthCallback authCallback) {
String response = doPostAuthorizationCode(authCallback.getCode()); String response = doPostAuthorizationCode(authCallback.getCode());
JSONObject accessTokenObject = JSONObject.parseObject(response); JSONObject accessTokenObject = JSONObject.parseObject(response);
this.checkResponse(accessTokenObject); this.checkResponse(accessTokenObject);
@ -36,7 +36,7 @@ public class AuthCsdnRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthUser getUserInfo(AuthToken authToken) { public AuthUser getUserInfo(AuthToken authToken) {
String response = doGetUserInfo(authToken); String response = doGetUserInfo(authToken);
JSONObject object = JSONObject.parseObject(response); JSONObject object = JSONObject.parseObject(response);
this.checkResponse(object); this.checkResponse(object);

View File

@ -43,25 +43,6 @@ public abstract class AuthDefaultRequest implements AuthRequest {
this.checkConfig(config); this.checkConfig(config);
} }
/**
* 获取access token
*
* @param authCallback 授权成功后的回调参数
* @return token
* @see AuthDefaultRequest#authorize()
* @see AuthDefaultRequest#authorize(String)
*/
protected abstract AuthToken getAccessToken(AuthCallback authCallback);
/**
* 使用token换取用户信息
*
* @param authToken token信息
* @return 用户信息
* @see AuthDefaultRequest#getAccessToken(AuthCallback)
*/
protected abstract AuthUser getUserInfo(AuthToken authToken);
/** /**
* 统一的登录入口当通过{@link AuthDefaultRequest#authorize(String)}授权成功后会跳转到调用方的相关回调方法中 * 统一的登录入口当通过{@link AuthDefaultRequest#authorize(String)}授权成功后会跳转到调用方的相关回调方法中
* 方法的入参可以使用{@code AuthCallback}{@code AuthCallback}类中封装好了OAuth2授权回调所需要的参数 * 方法的入参可以使用{@code AuthCallback}{@code AuthCallback}类中封装好了OAuth2授权回调所需要的参数

View File

@ -34,12 +34,12 @@ public class AuthDouyinRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthToken getAccessToken(AuthCallback authCallback) { public AuthToken getAccessToken(AuthCallback authCallback) {
return this.getToken(accessTokenUrl(authCallback.getCode())); return this.getToken(accessTokenUrl(authCallback.getCode()));
} }
@Override @Override
protected AuthUser getUserInfo(AuthToken authToken) { public AuthUser getUserInfo(AuthToken authToken) {
String response = doGetUserInfo(authToken); String response = doGetUserInfo(authToken);
JSONObject userInfoObject = JSONObject.parseObject(response); JSONObject userInfoObject = JSONObject.parseObject(response);
this.checkResponse(userInfoObject); this.checkResponse(userInfoObject);

View File

@ -44,7 +44,7 @@ public class AuthElemeRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthToken getAccessToken(AuthCallback authCallback) { public AuthToken getAccessToken(AuthCallback authCallback) {
Map<String, String> form = new HashMap<>(7); Map<String, String> form = new HashMap<>(7);
form.put("client_id", config.getClientId()); form.put("client_id", config.getClientId());
form.put("redirect_uri", config.getRedirectUri()); form.put("redirect_uri", config.getRedirectUri());
@ -66,7 +66,7 @@ public class AuthElemeRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthUser getUserInfo(AuthToken authToken) { public AuthUser getUserInfo(AuthToken authToken) {
Map<String, Object> parameters = new HashMap<>(4); Map<String, Object> parameters = new HashMap<>(4);
// 获取商户账号信息的API接口名称 // 获取商户账号信息的API接口名称
String action = "eleme.user.getUser"; String action = "eleme.user.getUser";

View File

@ -32,7 +32,7 @@ public class AuthFacebookRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthToken getAccessToken(AuthCallback authCallback) { public AuthToken getAccessToken(AuthCallback authCallback) {
String response = doPostAuthorizationCode(authCallback.getCode()); String response = doPostAuthorizationCode(authCallback.getCode());
JSONObject accessTokenObject = JSONObject.parseObject(response); JSONObject accessTokenObject = JSONObject.parseObject(response);
this.checkResponse(accessTokenObject); this.checkResponse(accessTokenObject);
@ -44,7 +44,7 @@ public class AuthFacebookRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthUser getUserInfo(AuthToken authToken) { public AuthUser getUserInfo(AuthToken authToken) {
String userInfo = doGetUserInfo(authToken); String userInfo = doGetUserInfo(authToken);
JSONObject object = JSONObject.parseObject(userInfo); JSONObject object = JSONObject.parseObject(userInfo);
this.checkResponse(object); this.checkResponse(object);

View File

@ -66,7 +66,7 @@ public class AuthFeishuRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthToken getAccessToken(AuthCallback authCallback) { public AuthToken getAccessToken(AuthCallback authCallback) {
JSONObject requestObject = new JSONObject(); JSONObject requestObject = new JSONObject();
requestObject.put("app_access_token", this.getAppAccessToken()); requestObject.put("app_access_token", this.getAppAccessToken());
requestObject.put("grant_type", "authorization_code"); requestObject.put("grant_type", "authorization_code");
@ -76,7 +76,7 @@ public class AuthFeishuRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthUser getUserInfo(AuthToken authToken) { public AuthUser getUserInfo(AuthToken authToken) {
String accessToken = authToken.getAccessToken(); String accessToken = authToken.getAccessToken();
String response = new HttpUtils(config.getHttpConfig()).get(source.userInfo(), null, new HttpHeader() String response = new HttpUtils(config.getHttpConfig()).get(source.userInfo(), null, new HttpHeader()
.add("Content-Type", "application/json") .add("Content-Type", "application/json")

View File

@ -36,7 +36,7 @@ public class AuthFigmaRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthToken getAccessToken(AuthCallback authCallback) { public AuthToken getAccessToken(AuthCallback authCallback) {
HttpHeader header = new HttpHeader() HttpHeader header = new HttpHeader()
.add("content-type", "application/x-www-form-urlencoded") .add("content-type", "application/x-www-form-urlencoded")
.add("Authorization", "Basic " + Base64Utils.encode(config.getClientId().concat(":").concat(config.getClientSecret()))); .add("Authorization", "Basic " + Base64Utils.encode(config.getClientId().concat(":").concat(config.getClientSecret())));
@ -86,7 +86,7 @@ public class AuthFigmaRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthUser getUserInfo(AuthToken authToken) { public AuthUser getUserInfo(AuthToken authToken) {
HttpHeader header = new HttpHeader().add("Authorization", "Bearer " + authToken.getAccessToken()); HttpHeader header = new HttpHeader().add("Authorization", "Bearer " + authToken.getAccessToken());
String response = new HttpUtils(config.getHttpConfig()).get(super.userInfoUrl(authToken), null, header, false).getBody(); String response = new HttpUtils(config.getHttpConfig()).get(super.userInfoUrl(authToken), null, header, false).getBody();
JSONObject dataObj = JSONObject.parseObject(response); JSONObject dataObj = JSONObject.parseObject(response);

View File

@ -30,7 +30,7 @@ public class AuthGiteeRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthToken getAccessToken(AuthCallback authCallback) { public AuthToken getAccessToken(AuthCallback authCallback) {
String response = doPostAuthorizationCode(authCallback.getCode()); String response = doPostAuthorizationCode(authCallback.getCode());
JSONObject accessTokenObject = JSONObject.parseObject(response); JSONObject accessTokenObject = JSONObject.parseObject(response);
this.checkResponse(accessTokenObject); this.checkResponse(accessTokenObject);
@ -44,7 +44,7 @@ public class AuthGiteeRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthUser getUserInfo(AuthToken authToken) { public AuthUser getUserInfo(AuthToken authToken) {
String userInfo = doGetUserInfo(authToken); String userInfo = doGetUserInfo(authToken);
JSONObject object = JSONObject.parseObject(userInfo); JSONObject object = JSONObject.parseObject(userInfo);
this.checkResponse(object); this.checkResponse(object);

View File

@ -35,7 +35,7 @@ public class AuthGithubRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthToken getAccessToken(AuthCallback authCallback) { public AuthToken getAccessToken(AuthCallback authCallback) {
String response = doPostAuthorizationCode(authCallback.getCode()); String response = doPostAuthorizationCode(authCallback.getCode());
Map<String, String> res = GlobalAuthUtils.parseStringToMap(response); Map<String, String> res = GlobalAuthUtils.parseStringToMap(response);
@ -49,7 +49,7 @@ public class AuthGithubRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthUser getUserInfo(AuthToken authToken) { public AuthUser getUserInfo(AuthToken authToken) {
HttpHeader header = new HttpHeader(); HttpHeader header = new HttpHeader();
header.add("Authorization", "token " + authToken.getAccessToken()); header.add("Authorization", "token " + authToken.getAccessToken());
String response = new HttpUtils(config.getHttpConfig()).get(UrlBuilder.fromBaseUrl(source.userInfo()).build(), null, header, false).getBody(); String response = new HttpUtils(config.getHttpConfig()).get(UrlBuilder.fromBaseUrl(source.userInfo()).build(), null, header, false).getBody();

View File

@ -30,7 +30,7 @@ public class AuthGitlabRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthToken getAccessToken(AuthCallback authCallback) { public AuthToken getAccessToken(AuthCallback authCallback) {
String response = doPostAuthorizationCode(authCallback.getCode()); String response = doPostAuthorizationCode(authCallback.getCode());
JSONObject object = JSONObject.parseObject(response); JSONObject object = JSONObject.parseObject(response);
@ -46,7 +46,7 @@ public class AuthGitlabRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthUser getUserInfo(AuthToken authToken) { public AuthUser getUserInfo(AuthToken authToken) {
String response = doGetUserInfo(authToken); String response = doGetUserInfo(authToken);
JSONObject object = JSONObject.parseObject(response); JSONObject object = JSONObject.parseObject(response);

View File

@ -33,7 +33,7 @@ public class AuthGoogleRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthToken getAccessToken(AuthCallback authCallback) { public AuthToken getAccessToken(AuthCallback authCallback) {
String response = doPostAuthorizationCode(authCallback.getCode()); String response = doPostAuthorizationCode(authCallback.getCode());
JSONObject accessTokenObject = JSONObject.parseObject(response); JSONObject accessTokenObject = JSONObject.parseObject(response);
this.checkResponse(accessTokenObject); this.checkResponse(accessTokenObject);
@ -47,7 +47,7 @@ public class AuthGoogleRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthUser getUserInfo(AuthToken authToken) { public AuthUser getUserInfo(AuthToken authToken) {
HttpHeader httpHeader = new HttpHeader(); HttpHeader httpHeader = new HttpHeader();
httpHeader.add("Authorization", "Bearer " + authToken.getAccessToken()); httpHeader.add("Authorization", "Bearer " + authToken.getAccessToken());
String userInfo = new HttpUtils(config.getHttpConfig()).post(userInfoUrl(authToken), null, httpHeader).getBody(); String userInfo = new HttpUtils(config.getHttpConfig()).post(userInfoUrl(authToken), null, httpHeader).getBody();

View File

@ -46,7 +46,7 @@ public class AuthHuaweiRequest extends AuthDefaultRequest {
* @see AuthDefaultRequest#authorize(String) * @see AuthDefaultRequest#authorize(String)
*/ */
@Override @Override
protected AuthToken getAccessToken(AuthCallback authCallback) { public AuthToken getAccessToken(AuthCallback authCallback) {
Map<String, String> form = new HashMap<>(8); Map<String, String> form = new HashMap<>(8);
form.put("grant_type", "authorization_code"); form.put("grant_type", "authorization_code");
form.put("code", authCallback.getAuthorization_code()); form.put("code", authCallback.getAuthorization_code());
@ -66,7 +66,7 @@ public class AuthHuaweiRequest extends AuthDefaultRequest {
* @see AuthDefaultRequest#getAccessToken(AuthCallback) * @see AuthDefaultRequest#getAccessToken(AuthCallback)
*/ */
@Override @Override
protected AuthUser getUserInfo(AuthToken authToken) { public AuthUser getUserInfo(AuthToken authToken) {
Map<String, String> form = new HashMap<>(7); Map<String, String> form = new HashMap<>(7);
form.put("nsp_ts", System.currentTimeMillis() + ""); form.put("nsp_ts", System.currentTimeMillis() + "");
form.put("access_token", authToken.getAccessToken()); form.put("access_token", authToken.getAccessToken());

View File

@ -39,7 +39,7 @@ public class AuthJdRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthToken getAccessToken(AuthCallback authCallback) { public AuthToken getAccessToken(AuthCallback authCallback) {
Map<String, String> params = new HashMap<>(7); Map<String, String> params = new HashMap<>(7);
params.put("app_key", config.getClientId()); params.put("app_key", config.getClientId());
@ -61,7 +61,7 @@ public class AuthJdRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthUser getUserInfo(AuthToken authToken) { public AuthUser getUserInfo(AuthToken authToken) {
UrlBuilder urlBuilder = UrlBuilder.fromBaseUrl(source.userInfo()) UrlBuilder urlBuilder = UrlBuilder.fromBaseUrl(source.userInfo())
.queryParam("access_token", authToken.getAccessToken()) .queryParam("access_token", authToken.getAccessToken())
.queryParam("app_key", config.getClientId()) .queryParam("app_key", config.getClientId())

View File

@ -36,7 +36,7 @@ public class AuthLineRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthToken getAccessToken(AuthCallback authCallback) { public AuthToken getAccessToken(AuthCallback authCallback) {
Map<String, String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();
params.put("grant_type", "authorization_code"); params.put("grant_type", "authorization_code");
params.put("code", authCallback.getCode()); params.put("code", authCallback.getCode());
@ -56,7 +56,7 @@ public class AuthLineRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthUser getUserInfo(AuthToken authToken) { public AuthUser getUserInfo(AuthToken authToken) {
String userInfo = new HttpUtils(config.getHttpConfig()).get(source.userInfo(), null, new HttpHeader() String userInfo = new HttpUtils(config.getHttpConfig()).get(source.userInfo(), null, new HttpHeader()
.add("Content-Type", "application/x-www-form-urlencoded") .add("Content-Type", "application/x-www-form-urlencoded")
.add("Authorization", "Bearer ".concat(authToken.getAccessToken())), false).getBody(); .add("Authorization", "Bearer ".concat(authToken.getAccessToken())), false).getBody();

View File

@ -36,12 +36,12 @@ public class AuthLinkedinRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthToken getAccessToken(AuthCallback authCallback) { public AuthToken getAccessToken(AuthCallback authCallback) {
return this.getToken(accessTokenUrl(authCallback.getCode())); return this.getToken(accessTokenUrl(authCallback.getCode()));
} }
@Override @Override
protected AuthUser getUserInfo(AuthToken authToken) { public AuthUser getUserInfo(AuthToken authToken) {
String accessToken = authToken.getAccessToken(); String accessToken = authToken.getAccessToken();
HttpHeader httpHeader = new HttpHeader(); HttpHeader httpHeader = new HttpHeader();
httpHeader.add("Host", "api.linkedin.com"); httpHeader.add("Host", "api.linkedin.com");

View File

@ -34,7 +34,7 @@ public class AuthMeituanRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthToken getAccessToken(AuthCallback authCallback) { public AuthToken getAccessToken(AuthCallback authCallback) {
Map<String, String> form = new HashMap<>(7); Map<String, String> form = new HashMap<>(7);
form.put("app_id", config.getClientId()); form.put("app_id", config.getClientId());
form.put("secret", config.getClientSecret()); form.put("secret", config.getClientSecret());
@ -54,7 +54,7 @@ public class AuthMeituanRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthUser getUserInfo(AuthToken authToken) { public AuthUser getUserInfo(AuthToken authToken) {
Map<String, String> form = new HashMap<>(5); Map<String, String> form = new HashMap<>(5);
form.put("app_id", config.getClientId()); form.put("app_id", config.getClientId());
form.put("secret", config.getClientSecret()); form.put("secret", config.getClientSecret());

View File

@ -38,7 +38,7 @@ public class AuthMiRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthToken getAccessToken(AuthCallback authCallback) { public AuthToken getAccessToken(AuthCallback authCallback) {
return getToken(accessTokenUrl(authCallback.getCode())); return getToken(accessTokenUrl(authCallback.getCode()));
} }
@ -64,7 +64,7 @@ public class AuthMiRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthUser getUserInfo(AuthToken authToken) { public AuthUser getUserInfo(AuthToken authToken) {
// 获取用户信息 // 获取用户信息
String userResponse = doGetUserInfo(authToken); String userResponse = doGetUserInfo(authToken);

View File

@ -40,7 +40,7 @@ public class AuthOktaRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthToken getAccessToken(AuthCallback authCallback) { public AuthToken getAccessToken(AuthCallback authCallback) {
String tokenUrl = accessTokenUrl(authCallback.getCode()); String tokenUrl = accessTokenUrl(authCallback.getCode());
return getAuthToken(tokenUrl); return getAuthToken(tokenUrl);
} }
@ -79,7 +79,7 @@ public class AuthOktaRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthUser getUserInfo(AuthToken authToken) { public AuthUser getUserInfo(AuthToken authToken) {
HttpHeader header = new HttpHeader() HttpHeader header = new HttpHeader()
.add("Authorization", "Bearer " + authToken.getAccessToken()); .add("Authorization", "Bearer " + authToken.getAccessToken());
String response = new HttpUtils(config.getHttpConfig()).post(userInfoUrl(authToken), null, header, false).getBody(); String response = new HttpUtils(config.getHttpConfig()).post(userInfoUrl(authToken), null, header, false).getBody();

View File

@ -28,7 +28,7 @@ public class AuthOschinaRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthToken getAccessToken(AuthCallback authCallback) { public AuthToken getAccessToken(AuthCallback authCallback) {
String response = doPostAuthorizationCode(authCallback.getCode()); String response = doPostAuthorizationCode(authCallback.getCode());
JSONObject accessTokenObject = JSONObject.parseObject(response); JSONObject accessTokenObject = JSONObject.parseObject(response);
this.checkResponse(accessTokenObject); this.checkResponse(accessTokenObject);
@ -41,7 +41,7 @@ public class AuthOschinaRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthUser getUserInfo(AuthToken authToken) { public AuthUser getUserInfo(AuthToken authToken) {
String response = doGetUserInfo(authToken); String response = doGetUserInfo(authToken);
JSONObject object = JSONObject.parseObject(response); JSONObject object = JSONObject.parseObject(response);
this.checkResponse(object); this.checkResponse(object);

View File

@ -36,7 +36,7 @@ public class AuthPinterestRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthToken getAccessToken(AuthCallback authCallback) { public AuthToken getAccessToken(AuthCallback authCallback) {
String response = doPostAuthorizationCode(authCallback.getCode()); String response = doPostAuthorizationCode(authCallback.getCode());
JSONObject accessTokenObject = JSONObject.parseObject(response); JSONObject accessTokenObject = JSONObject.parseObject(response);
this.checkResponse(accessTokenObject); this.checkResponse(accessTokenObject);
@ -47,7 +47,7 @@ public class AuthPinterestRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthUser getUserInfo(AuthToken authToken) { public AuthUser getUserInfo(AuthToken authToken) {
String userinfoUrl = userInfoUrl(authToken); String userinfoUrl = userInfoUrl(authToken);
// TODO: 是否需要 .setFollowRedirects(true) // TODO: 是否需要 .setFollowRedirects(true)
String response = new HttpUtils(config.getHttpConfig()).get(userinfoUrl).getBody(); String response = new HttpUtils(config.getHttpConfig()).get(userinfoUrl).getBody();

View File

@ -34,7 +34,7 @@ public class AuthProginnRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthToken getAccessToken(AuthCallback authCallback) { public AuthToken getAccessToken(AuthCallback authCallback) {
Map<String, String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();
params.put("code", authCallback.getCode()); params.put("code", authCallback.getCode());
params.put("client_id", config.getClientId()); params.put("client_id", config.getClientId());
@ -54,7 +54,7 @@ public class AuthProginnRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthUser getUserInfo(AuthToken authToken) { public AuthUser getUserInfo(AuthToken authToken) {
String userInfo = doGetUserInfo(authToken); String userInfo = doGetUserInfo(authToken);
JSONObject object = JSONObject.parseObject(userInfo); JSONObject object = JSONObject.parseObject(userInfo);
this.checkResponse(object); this.checkResponse(object);

View File

@ -33,7 +33,7 @@ public class AuthQqRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthToken getAccessToken(AuthCallback authCallback) { public AuthToken getAccessToken(AuthCallback authCallback) {
String response = doGetAuthorizationCode(authCallback.getCode()); String response = doGetAuthorizationCode(authCallback.getCode());
return getAuthToken(response); return getAuthToken(response);
} }
@ -45,7 +45,7 @@ public class AuthQqRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthUser getUserInfo(AuthToken authToken) { public AuthUser getUserInfo(AuthToken authToken) {
String openId = this.getOpenId(authToken); String openId = this.getOpenId(authToken);
String response = doGetUserInfo(authToken); String response = doGetUserInfo(authToken);
JSONObject object = JSONObject.parseObject(response); JSONObject object = JSONObject.parseObject(response);

View File

@ -38,12 +38,12 @@ public class AuthRenrenRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthToken getAccessToken(AuthCallback authCallback) { public AuthToken getAccessToken(AuthCallback authCallback) {
return this.getToken(accessTokenUrl(authCallback.getCode())); return this.getToken(accessTokenUrl(authCallback.getCode()));
} }
@Override @Override
protected AuthUser getUserInfo(AuthToken authToken) { public AuthUser getUserInfo(AuthToken authToken) {
String response = doGetUserInfo(authToken); String response = doGetUserInfo(authToken);
JSONObject userObj = JSONObject.parseObject(response).getJSONObject("response"); JSONObject userObj = JSONObject.parseObject(response).getJSONObject("response");

View File

@ -44,6 +44,25 @@ public interface AuthRequest {
throw new AuthException(AuthResponseStatus.NOT_IMPLEMENTED); throw new AuthException(AuthResponseStatus.NOT_IMPLEMENTED);
} }
/**
* 获取access token
*
* @param authCallback 授权成功后的回调参数
* @return token
* @see AuthDefaultRequest#authorize()
* @see AuthDefaultRequest#authorize(String)
*/
AuthToken getAccessToken(AuthCallback authCallback);
/**
* 使用token换取用户信息
*
* @param authToken token信息
* @return 用户信息
* @see AuthDefaultRequest#getAccessToken(AuthCallback)
*/
AuthUser getUserInfo(AuthToken authToken);
/** /**
* 第三方登录 * 第三方登录
* *

View File

@ -35,7 +35,7 @@ public class AuthSlackRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthToken getAccessToken(AuthCallback authCallback) { public AuthToken getAccessToken(AuthCallback authCallback) {
HttpHeader header = new HttpHeader() HttpHeader header = new HttpHeader()
.add("Content-Type", "application/x-www-form-urlencoded"); .add("Content-Type", "application/x-www-form-urlencoded");
String response = new HttpUtils(config.getHttpConfig()) String response = new HttpUtils(config.getHttpConfig())
@ -51,7 +51,7 @@ public class AuthSlackRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthUser getUserInfo(AuthToken authToken) { public AuthUser getUserInfo(AuthToken authToken) {
HttpHeader header = new HttpHeader() HttpHeader header = new HttpHeader()
.add("Content-Type", "application/x-www-form-urlencoded") .add("Content-Type", "application/x-www-form-urlencoded")
.add("Authorization", "Bearer ".concat(authToken.getAccessToken())); .add("Authorization", "Bearer ".concat(authToken.getAccessToken()));

View File

@ -37,7 +37,7 @@ public class AuthStackOverflowRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthToken getAccessToken(AuthCallback authCallback) { public AuthToken getAccessToken(AuthCallback authCallback) {
String accessTokenUrl = accessTokenUrl(authCallback.getCode()); String accessTokenUrl = accessTokenUrl(authCallback.getCode());
Map<String, String> form = MapUtil.parseStringToMap(accessTokenUrl, false); Map<String, String> form = MapUtil.parseStringToMap(accessTokenUrl, false);
HttpHeader httpHeader = new HttpHeader(); HttpHeader httpHeader = new HttpHeader();
@ -54,7 +54,7 @@ public class AuthStackOverflowRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthUser getUserInfo(AuthToken authToken) { public AuthUser getUserInfo(AuthToken authToken) {
String userInfoUrl = UrlBuilder.fromBaseUrl(this.source.userInfo()) String userInfoUrl = UrlBuilder.fromBaseUrl(this.source.userInfo())
.queryParam("access_token", authToken.getAccessToken()) .queryParam("access_token", authToken.getAccessToken())
.queryParam("site", "stackoverflow") .queryParam("site", "stackoverflow")

View File

@ -33,7 +33,7 @@ public class AuthTaobaoRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthToken getAccessToken(AuthCallback authCallback) { public AuthToken getAccessToken(AuthCallback authCallback) {
return AuthToken.builder().accessCode(authCallback.getCode()).build(); return AuthToken.builder().accessCode(authCallback.getCode()).build();
} }
@ -58,7 +58,7 @@ public class AuthTaobaoRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthUser getUserInfo(AuthToken authToken) { public AuthUser getUserInfo(AuthToken authToken) {
String response = doPostAuthorizationCode(authToken.getAccessCode()); String response = doPostAuthorizationCode(authToken.getAccessCode());
JSONObject accessTokenObject = JSONObject.parseObject(response); JSONObject accessTokenObject = JSONObject.parseObject(response);
if (accessTokenObject.containsKey("error")) { if (accessTokenObject.containsKey("error")) {

View File

@ -38,7 +38,7 @@ public class AuthTeambitionRequest extends AuthDefaultRequest {
* @return 所有信息 * @return 所有信息
*/ */
@Override @Override
protected AuthToken getAccessToken(AuthCallback authCallback) { public AuthToken getAccessToken(AuthCallback authCallback) {
Map<String, String> form = new HashMap<>(7); Map<String, String> form = new HashMap<>(7);
form.put("client_id", config.getClientId()); form.put("client_id", config.getClientId());
form.put("client_secret", config.getClientSecret()); form.put("client_secret", config.getClientSecret());
@ -57,7 +57,7 @@ public class AuthTeambitionRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthUser getUserInfo(AuthToken authToken) { public AuthUser getUserInfo(AuthToken authToken) {
String accessToken = authToken.getAccessToken(); String accessToken = authToken.getAccessToken();
HttpHeader httpHeader = new HttpHeader(); HttpHeader httpHeader = new HttpHeader();

View File

@ -29,7 +29,7 @@ public class AuthToutiaoRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthToken getAccessToken(AuthCallback authCallback) { public AuthToken getAccessToken(AuthCallback authCallback) {
String response = doGetAuthorizationCode(authCallback.getCode()); String response = doGetAuthorizationCode(authCallback.getCode());
JSONObject accessTokenObject = JSONObject.parseObject(response); JSONObject accessTokenObject = JSONObject.parseObject(response);
@ -43,7 +43,7 @@ public class AuthToutiaoRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthUser getUserInfo(AuthToken authToken) { public AuthUser getUserInfo(AuthToken authToken) {
String userResponse = doGetUserInfo(authToken); String userResponse = doGetUserInfo(authToken);
JSONObject userProfile = JSONObject.parseObject(userResponse); JSONObject userProfile = JSONObject.parseObject(userResponse);

View File

@ -88,7 +88,7 @@ public class AuthTwitterRequest extends AuthDefaultRequest {
* @return access token * @return access token
*/ */
@Override @Override
protected AuthToken getAccessToken(AuthCallback authCallback) { public AuthToken getAccessToken(AuthCallback authCallback) {
Map<String, String> oauthParams = buildOauthParams(); Map<String, String> oauthParams = buildOauthParams();
oauthParams.put("oauth_token", authCallback.getOauth_token()); oauthParams.put("oauth_token", authCallback.getOauth_token());
oauthParams.put("oauth_verifier", authCallback.getOauth_verifier()); oauthParams.put("oauth_verifier", authCallback.getOauth_verifier());
@ -115,7 +115,7 @@ public class AuthTwitterRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthUser getUserInfo(AuthToken authToken) { public AuthUser getUserInfo(AuthToken authToken) {
Map<String, String> queryParams = new HashMap<>(5); Map<String, String> queryParams = new HashMap<>(5);
queryParams.put("include_entities", Boolean.toString(true)); queryParams.put("include_entities", Boolean.toString(true));
queryParams.put("include_email", Boolean.toString(true)); queryParams.put("include_email", Boolean.toString(true));

View File

@ -56,7 +56,7 @@ public class AuthWeChatEnterpriseThirdQrcodeRequest extends AbstractAuthWeChatEn
} }
@Override @Override
protected AuthToken getAccessToken(AuthCallback authCallback) { public AuthToken getAccessToken(AuthCallback authCallback) {
try { try {
String response = doGetAuthorizationCode(accessTokenUrl()); String response = doGetAuthorizationCode(accessTokenUrl());
JSONObject object = this.checkResponse(response); JSONObject object = this.checkResponse(response);
@ -89,7 +89,7 @@ public class AuthWeChatEnterpriseThirdQrcodeRequest extends AbstractAuthWeChatEn
} }
@Override @Override
protected AuthUser getUserInfo(AuthToken authToken) { public AuthUser getUserInfo(AuthToken authToken) {
JSONObject response = this.checkResponse(doGetUserInfo(authToken)); JSONObject response = this.checkResponse(doGetUserInfo(authToken));
return AuthUser.builder() return AuthUser.builder()
.rawUserInfo(response) .rawUserInfo(response)

View File

@ -36,12 +36,12 @@ public class AuthWeChatMpRequest extends AuthDefaultRequest {
* @return 所有信息 * @return 所有信息
*/ */
@Override @Override
protected AuthToken getAccessToken(AuthCallback authCallback) { public AuthToken getAccessToken(AuthCallback authCallback) {
return this.getToken(accessTokenUrl(authCallback.getCode())); return this.getToken(accessTokenUrl(authCallback.getCode()));
} }
@Override @Override
protected AuthUser getUserInfo(AuthToken authToken) { public AuthUser getUserInfo(AuthToken authToken) {
String openId = authToken.getOpenId(); String openId = authToken.getOpenId();
String scope = authToken.getScope(); String scope = authToken.getScope();

View File

@ -36,12 +36,12 @@ public class AuthWeChatOpenRequest extends AuthDefaultRequest {
* @return 所有信息 * @return 所有信息
*/ */
@Override @Override
protected AuthToken getAccessToken(AuthCallback authCallback) { public AuthToken getAccessToken(AuthCallback authCallback) {
return this.getToken(accessTokenUrl(authCallback.getCode())); return this.getToken(accessTokenUrl(authCallback.getCode()));
} }
@Override @Override
protected AuthUser getUserInfo(AuthToken authToken) { public AuthUser getUserInfo(AuthToken authToken) {
String openId = authToken.getOpenId(); String openId = authToken.getOpenId();
String response = doGetUserInfo(authToken); String response = doGetUserInfo(authToken);

View File

@ -33,7 +33,7 @@ public class AuthWeiboRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthToken getAccessToken(AuthCallback authCallback) { public AuthToken getAccessToken(AuthCallback authCallback) {
String response = doPostAuthorizationCode(authCallback.getCode()); String response = doPostAuthorizationCode(authCallback.getCode());
JSONObject accessTokenObject = JSONObject.parseObject(response); JSONObject accessTokenObject = JSONObject.parseObject(response);
if (accessTokenObject.containsKey("error")) { if (accessTokenObject.containsKey("error")) {
@ -48,7 +48,7 @@ public class AuthWeiboRequest extends AuthDefaultRequest {
} }
@Override @Override
protected AuthUser getUserInfo(AuthToken authToken) { public AuthUser getUserInfo(AuthToken authToken) {
String accessToken = authToken.getAccessToken(); String accessToken = authToken.getAccessToken();
String uid = authToken.getUid(); String uid = authToken.getUid();
String oauthParam = String.format("uid=%s&access_token=%s", uid, accessToken); String oauthParam = String.format("uid=%s&access_token=%s", uid, accessToken);

View File

@ -42,7 +42,7 @@ public class AuthXmlyRequest extends AuthDefaultRequest {
* @see AuthDefaultRequest#authorize(String) * @see AuthDefaultRequest#authorize(String)
*/ */
@Override @Override
protected AuthToken getAccessToken(AuthCallback authCallback) { public AuthToken getAccessToken(AuthCallback authCallback) {
Map<String, String> map = new HashMap<>(9); Map<String, String> map = new HashMap<>(9);
map.put("code", authCallback.getCode()); map.put("code", authCallback.getCode());
map.put("client_id", config.getClientId()); map.put("client_id", config.getClientId());

View File

@ -36,7 +36,7 @@ public class AuthExtendRequest extends AuthDefaultRequest {
* @see AuthDefaultRequest#authorize(String) * @see AuthDefaultRequest#authorize(String)
*/ */
@Override @Override
protected AuthToken getAccessToken(AuthCallback authCallback) { public AuthToken getAccessToken(AuthCallback authCallback) {
return AuthToken.builder() return AuthToken.builder()
.openId("openId") .openId("openId")
.expireIn(1000) .expireIn(1000)
@ -56,7 +56,7 @@ public class AuthExtendRequest extends AuthDefaultRequest {
* @see AuthDefaultRequest#getAccessToken(AuthCallback) * @see AuthDefaultRequest#getAccessToken(AuthCallback)
*/ */
@Override @Override
protected AuthUser getUserInfo(AuthToken authToken) { public AuthUser getUserInfo(AuthToken authToken) {
return AuthUser.builder() return AuthUser.builder()
.username("test") .username("test")
.nickname("test") .nickname("test")