提交 81691a34 编写于 作者: 智布道's avatar 智布道 👁

🍻 优化代码

上级 f815f12a
package me.zhyd.oauth.config; package me.zhyd.oauth.config;
import lombok.*; import lombok.Builder;
import lombok.Getter;
/** /**
* JustAuth配置类 * JustAuth配置类
...@@ -9,11 +10,8 @@ import lombok.*; ...@@ -9,11 +10,8 @@ import lombok.*;
* @version 1.0 * @version 1.0
* @since 1.8 * @since 1.8
*/ */
@Setter
@Getter @Getter
@Builder @Builder
@NoArgsConstructor
@AllArgsConstructor
public class AuthConfig { public class AuthConfig {
/** /**
......
...@@ -110,6 +110,11 @@ public enum AuthSource { ...@@ -110,6 +110,11 @@ public enum AuthSource {
public String revoke() { public String revoke() {
return "https://openapi.baidu.com/rest/2.0/passport/auth/revokeAuthorization"; return "https://openapi.baidu.com/rest/2.0/passport/auth/revokeAuthorization";
} }
@Override
public String refresh() {
return "https://openapi.baidu.com/oauth/2.0/token";
}
}, },
/** /**
* csdn * csdn
......
package me.zhyd.oauth.enums;
import me.zhyd.oauth.utils.StringUtils;
/**
* 百度授权登录时的异常状态码
*
* @author yadong.zhang (yadong.zhang0415(a)gmail.com)
* @version 1.0
* @since 1.8
*/
public enum AuthBaiduErrorCode {
OK("ok", "ok", "ok"),
INVALID_REQUEST("invalid_request", "invalid refresh token", "请求缺少某个必需参数,包含一个不支持的参数或参数值,或者格式不正确。"),
INVALID_CLIENT("invalid_client", "unknown client id", "client_id”、“client_secret”参数无效。"),
INVALID_GRANT("invalid_grant", "The provided authorization grant is revoked", "提供的Access Grant是无效的、过期的或已撤销的,例如,Authorization Code无效(一个授权码只能使用一次)、Refresh Token无效、redirect_uri与获取Authorization Code时提供的不一致、Devie Code无效(一个设备授权码只能使用一次)等。"),
UNAUTHORIZED_CLIENT("unauthorized_client", "The client is not authorized to use this authorization grant type", "应用没有被授权,无法使用所指定的grant_type。"),
UNSUPPORTED_GRANT_TYPE("unsupported_grant_type", "The authorization grant type is not supported", "“grant_type”百度OAuth2.0服务不支持该参数。"),
INVALID_SCOPE("invalid_scope", "The requested scope is exceeds the scope granted by the resource owner", "请求的“scope”参数是无效的、未知的、格式不正确的、或所请求的权限范围超过了数据拥有者所授予的权限范围。"),
EXPIRED_TOKEN("expired_token", "refresh token has been used", "提供的Refresh Token已过期"),
REDIRECT_URI_MISMATCH("redirect_uri_mismatch", "Invalid redirect uri", "“redirect_uri”所在的根域与开发者注册应用时所填写的根域名不匹配。"),
UNSUPPORTED_RESPONSE_TYPE("unsupported_response_type", "The response type is not supported", "“response_type”参数值不为百度OAuth2.0服务所支持,或者应用已经主动禁用了对应的授权模式"),
SLOW_DOWN("slow_down", "The device is polling too frequently", "Device Flow中,设备通过Device Code换取Access Token的接口过于频繁,两次尝试的间隔应大于5秒。"),
AUTHORIZATION_PENDING("authorization_pending", "User has not yet completed the authorization", "Device Flow中,用户还没有对Device Code完成授权操作。"),
AUTHORIZATION_DECLINED("authorization_declined", "User has declined the authorization", "Device Flow中,用户拒绝了对Device Code的授权操作。"),
INVALID_REFERER("invalid_referer", "Invalid Referer", "Implicit Grant模式中,浏览器请求的Referer与根域名绑定不匹配");
private String code;
private String msg;
private String desc;
AuthBaiduErrorCode(String code, String msg, String desc) {
this.code = code;
this.msg = msg;
this.desc = desc;
}
public static AuthBaiduErrorCode getErrorCode(String code) {
if (StringUtils.isEmpty(code)) {
return OK;
}
AuthBaiduErrorCode[] errorCodes = AuthBaiduErrorCode.values();
for (AuthBaiduErrorCode errorCode : errorCodes) {
if (code.equalsIgnoreCase(errorCode.getCode())) {
return errorCode;
}
}
return OK;
}
public String getCode() {
return code;
}
public String getMsg() {
return msg;
}
public String getDesc() {
return desc;
}
}
package me.zhyd.oauth.enums; package me.zhyd.oauth.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/** /**
* 今日头条授权登录时的异常状态码 * 今日头条授权登录时的异常状态码
* *
...@@ -7,6 +10,8 @@ package me.zhyd.oauth.enums; ...@@ -7,6 +10,8 @@ package me.zhyd.oauth.enums;
* @version 1.0 * @version 1.0
* @since 1.8 * @since 1.8
*/ */
@Getter
@AllArgsConstructor
public enum AuthToutiaoErrorCode { public enum AuthToutiaoErrorCode {
EC0(0, "接口调用成功"), EC0(0, "接口调用成功"),
EC1(1, "API配置错误,未传入Client Key"), EC1(1, "API配置错误,未传入Client Key"),
...@@ -29,11 +34,6 @@ public enum AuthToutiaoErrorCode { ...@@ -29,11 +34,6 @@ public enum AuthToutiaoErrorCode {
private int code; private int code;
private String desc; private String desc;
AuthToutiaoErrorCode(int code, String desc) {
this.code = code;
this.desc = desc;
}
public static AuthToutiaoErrorCode getErrorCode(int errorCode) { public static AuthToutiaoErrorCode getErrorCode(int errorCode) {
AuthToutiaoErrorCode[] errorCodes = AuthToutiaoErrorCode.values(); AuthToutiaoErrorCode[] errorCodes = AuthToutiaoErrorCode.values();
for (AuthToutiaoErrorCode code : errorCodes) { for (AuthToutiaoErrorCode code : errorCodes) {
...@@ -43,12 +43,4 @@ public enum AuthToutiaoErrorCode { ...@@ -43,12 +43,4 @@ public enum AuthToutiaoErrorCode {
} }
return EC999; return EC999;
} }
public int getCode() {
return code;
}
public String getDesc() {
return desc;
}
} }
package me.zhyd.oauth.model; package me.zhyd.oauth.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays; import java.util.Arrays;
...@@ -9,16 +12,13 @@ import java.util.Arrays; ...@@ -9,16 +12,13 @@ import java.util.Arrays;
* @version 1.0 * @version 1.0
* @since 1.8 * @since 1.8
*/ */
@Getter
@AllArgsConstructor
public enum AuthUserGender { public enum AuthUserGender {
MALE(1, "男"), FEMALE(0, "女"), UNKNOWN(-1, "未知"); MALE(1, "男"), FEMALE(0, "女"), UNKNOWN(-1, "未知");
private int code; private int code;
private String desc; private String desc;
AuthUserGender(int code, String desc) {
this.code = code;
this.desc = desc;
}
public static AuthUserGender getRealGender(String code) { public static AuthUserGender getRealGender(String code) {
if (code == null) { if (code == null) {
return UNKNOWN; return UNKNOWN;
...@@ -33,12 +33,4 @@ public enum AuthUserGender { ...@@ -33,12 +33,4 @@ public enum AuthUserGender {
} }
return UNKNOWN; return UNKNOWN;
} }
public int getCode() {
return code;
}
public String getDesc() {
return desc;
}
} }
...@@ -12,7 +12,6 @@ import lombok.Setter; ...@@ -12,7 +12,6 @@ import lombok.Setter;
* @since 1.8 * @since 1.8
*/ */
@Getter @Getter
@Setter
@Builder @Builder
public class AuthResponse<T> { public class AuthResponse<T> {
/** /**
......
package me.zhyd.oauth.model; package me.zhyd.oauth.model;
import lombok.AllArgsConstructor;
import lombok.Getter;
/** /**
* @author yadong.zhang (yadong.zhang0415(a)gmail.com) * @author yadong.zhang (yadong.zhang0415(a)gmail.com)
* @version 1.0 * @version 1.0
* @since 1.8 * @since 1.8
*/ */
@Getter
@AllArgsConstructor
public enum AuthResponseStatus { public enum AuthResponseStatus {
SUCCESS(2000, "Success"), SUCCESS(2000, "Success"),
FAILURE(5000, "Failure"), FAILURE(5000, "Failure"),
...@@ -20,18 +25,5 @@ public enum AuthResponseStatus { ...@@ -20,18 +25,5 @@ public enum AuthResponseStatus {
private int code; private int code;
private String msg; private String msg;
AuthResponseStatus(int code, String msg) {
this.code = code;
this.msg = msg;
}
public int getCode() {
return code;
}
public String getMsg() {
return msg;
}
} }
package me.zhyd.oauth.model; package me.zhyd.oauth.model;
import lombok.Builder; import lombok.Builder;
import lombok.Data;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import me.zhyd.oauth.config.AuthSource; import me.zhyd.oauth.config.AuthSource;
import me.zhyd.oauth.enums.AuthUserGender;
/** /**
* 授权成功后的用户信息,根据授权平台的不同,获取的数据完整性也不同 * 授权成功后的用户信息,根据授权平台的不同,获取的数据完整性也不同
......
...@@ -13,7 +13,7 @@ import me.zhyd.oauth.exception.AuthException; ...@@ -13,7 +13,7 @@ import me.zhyd.oauth.exception.AuthException;
import me.zhyd.oauth.model.AuthCallback; import me.zhyd.oauth.model.AuthCallback;
import me.zhyd.oauth.model.AuthToken; import me.zhyd.oauth.model.AuthToken;
import me.zhyd.oauth.model.AuthUser; import me.zhyd.oauth.model.AuthUser;
import me.zhyd.oauth.model.AuthUserGender; import me.zhyd.oauth.enums.AuthUserGender;
import me.zhyd.oauth.utils.StringUtils; import me.zhyd.oauth.utils.StringUtils;
import me.zhyd.oauth.utils.UrlBuilder; import me.zhyd.oauth.utils.UrlBuilder;
......
...@@ -5,7 +5,7 @@ import cn.hutool.http.HttpResponse; ...@@ -5,7 +5,7 @@ import cn.hutool.http.HttpResponse;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import me.zhyd.oauth.config.AuthConfig; import me.zhyd.oauth.config.AuthConfig;
import me.zhyd.oauth.config.AuthSource; import me.zhyd.oauth.config.AuthSource;
import me.zhyd.oauth.enums.AuthBaiduErrorCode; import me.zhyd.oauth.enums.AuthUserGender;
import me.zhyd.oauth.exception.AuthException; import me.zhyd.oauth.exception.AuthException;
import me.zhyd.oauth.model.*; import me.zhyd.oauth.model.*;
import me.zhyd.oauth.utils.UrlBuilder; import me.zhyd.oauth.utils.UrlBuilder;
...@@ -27,10 +27,7 @@ public class AuthBaiduRequest extends AuthDefaultRequest { ...@@ -27,10 +27,7 @@ public class AuthBaiduRequest extends AuthDefaultRequest {
protected AuthToken getAccessToken(AuthCallback authCallback) { protected AuthToken getAccessToken(AuthCallback authCallback) {
HttpResponse response = doPostAuthorizationCode(authCallback.getCode()); HttpResponse response = doPostAuthorizationCode(authCallback.getCode());
JSONObject accessTokenObject = JSONObject.parseObject(response.body()); JSONObject accessTokenObject = JSONObject.parseObject(response.body());
AuthBaiduErrorCode errorCode = AuthBaiduErrorCode.getErrorCode(accessTokenObject.getString("error")); this.checkResponse(accessTokenObject);
if (AuthBaiduErrorCode.OK != errorCode) {
throw new AuthException(errorCode.getDesc());
}
return AuthToken.builder() return AuthToken.builder()
.accessToken(accessTokenObject.getString("access_token")) .accessToken(accessTokenObject.getString("access_token"))
.refreshToken(accessTokenObject.getString("refresh_token")) .refreshToken(accessTokenObject.getString("refresh_token"))
...@@ -44,14 +41,13 @@ public class AuthBaiduRequest extends AuthDefaultRequest { ...@@ -44,14 +41,13 @@ public class AuthBaiduRequest extends AuthDefaultRequest {
HttpResponse response = doGetUserInfo(authToken); HttpResponse response = doGetUserInfo(authToken);
String userInfo = response.body(); String userInfo = response.body();
JSONObject object = JSONObject.parseObject(userInfo); JSONObject object = JSONObject.parseObject(userInfo);
AuthBaiduErrorCode errorCode = AuthBaiduErrorCode.getErrorCode(object.getString("error")); this.checkResponse(object);
if (AuthBaiduErrorCode.OK != errorCode) {
throw new AuthException(errorCode.getDesc());
}
return AuthUser.builder() return AuthUser.builder()
.uuid(object.getString("userid")) .uuid(object.getString("userid"))
.username(object.getString("username")) .username(object.getString("username"))
.nickname(object.getString("username")) .nickname(object.getString("username"))
.avatar(object.getString("portrait"))
.remark(object.getString("userdetail"))
.gender(AuthUserGender.getRealGender(object.getString("sex"))) .gender(AuthUserGender.getRealGender(object.getString("sex")))
.token(authToken) .token(authToken)
.source(AuthSource.BAIDU) .source(AuthSource.BAIDU)
...@@ -60,22 +56,41 @@ public class AuthBaiduRequest extends AuthDefaultRequest { ...@@ -60,22 +56,41 @@ public class AuthBaiduRequest extends AuthDefaultRequest {
@Override @Override
public AuthResponse revoke(AuthToken authToken) { public AuthResponse revoke(AuthToken authToken) {
String accessToken = authToken.getAccessToken(); HttpResponse response = doGetRevoke(authToken);
HttpResponse response = HttpRequest.get(UrlBuilder.fromBaseUrl(source.revoke()) JSONObject object = JSONObject.parseObject(response.body());
.queryParam("access_token", accessToken)
.build()).execute();
String userInfo = response.body();
JSONObject object = JSONObject.parseObject(userInfo);
if (object.containsKey("error_code")) { if (object.containsKey("error_code")) {
return AuthResponse.builder() return AuthResponse.builder()
.code(AuthResponseStatus.FAILURE.getCode()) .code(AuthResponseStatus.FAILURE.getCode())
.msg(object.getString("error_msg")) .msg(object.getString("error_msg"))
.build(); .build();
} }
// 返回1表示取消授权成功,否则失败
AuthResponseStatus status = object.getIntValue("result") == 1 ? AuthResponseStatus.SUCCESS : AuthResponseStatus.FAILURE; AuthResponseStatus status = object.getIntValue("result") == 1 ? AuthResponseStatus.SUCCESS : AuthResponseStatus.FAILURE;
return AuthResponse.builder().code(status.getCode()).msg(status.getMsg()).build(); return AuthResponse.builder().code(status.getCode()).msg(status.getMsg()).build();
} }
@Override
public AuthResponse refresh(AuthToken authToken) {
String refreshUrl = UrlBuilder.fromBaseUrl(this.source.refresh())
.queryParam("grant_type", "refresh_token")
.queryParam("refresh_token", authToken.getRefreshToken())
.queryParam("client_id", this.config.getClientId())
.queryParam("client_secret", this.config.getClientSecret())
.build();
HttpResponse response = HttpRequest.get(refreshUrl).execute();
JSONObject object = JSONObject.parseObject(response.body());
this.checkResponse(object);
return AuthResponse.builder()
.code(AuthResponseStatus.SUCCESS.getCode())
.data(AuthToken.builder()
.accessToken(object.getString("access_token"))
.refreshToken(object.getString("refresh_token"))
.scope(object.getString("scope"))
.expireIn(object.getIntValue("expires_in"))
.build())
.build();
}
/** /**
* 返回认证url,可自行跳转页面 * 返回认证url,可自行跳转页面
* *
...@@ -91,4 +106,10 @@ public class AuthBaiduRequest extends AuthDefaultRequest { ...@@ -91,4 +106,10 @@ public class AuthBaiduRequest extends AuthDefaultRequest {
.queryParam("state", getRealState(config.getState())) .queryParam("state", getRealState(config.getState()))
.build(); .build();
} }
private void checkResponse(JSONObject object) {
if (object.containsKey("error")) {
throw new AuthException(object.getString("error_description"));
}
}
} }
package me.zhyd.oauth.request; package me.zhyd.oauth.request;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse; import cn.hutool.http.HttpResponse;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import me.zhyd.oauth.config.AuthConfig; import me.zhyd.oauth.config.AuthConfig;
...@@ -9,7 +8,7 @@ import me.zhyd.oauth.exception.AuthException; ...@@ -9,7 +8,7 @@ import me.zhyd.oauth.exception.AuthException;
import me.zhyd.oauth.model.AuthCallback; import me.zhyd.oauth.model.AuthCallback;
import me.zhyd.oauth.model.AuthToken; import me.zhyd.oauth.model.AuthToken;
import me.zhyd.oauth.model.AuthUser; import me.zhyd.oauth.model.AuthUser;
import me.zhyd.oauth.model.AuthUserGender; import me.zhyd.oauth.enums.AuthUserGender;
import me.zhyd.oauth.utils.UrlBuilder; import me.zhyd.oauth.utils.UrlBuilder;
/** /**
......
...@@ -8,7 +8,7 @@ import me.zhyd.oauth.exception.AuthException; ...@@ -8,7 +8,7 @@ import me.zhyd.oauth.exception.AuthException;
import me.zhyd.oauth.model.AuthCallback; import me.zhyd.oauth.model.AuthCallback;
import me.zhyd.oauth.model.AuthToken; import me.zhyd.oauth.model.AuthToken;
import me.zhyd.oauth.model.AuthUser; import me.zhyd.oauth.model.AuthUser;
import me.zhyd.oauth.model.AuthUserGender; import me.zhyd.oauth.enums.AuthUserGender;
/** /**
* CSDN登录 * CSDN登录
......
...@@ -114,6 +114,15 @@ public abstract class AuthDefaultRequest implements AuthRequest { ...@@ -114,6 +114,15 @@ public abstract class AuthDefaultRequest implements AuthRequest {
return UrlBuilder.fromBaseUrl(source.userInfo()).queryParam("access_token", authToken.getAccessToken()).build(); return UrlBuilder.fromBaseUrl(source.userInfo()).queryParam("access_token", authToken.getAccessToken()).build();
} }
/**
* 返回获取revoke authorization的url
*
* @return 返回获取revoke authorization的url
*/
protected String revokeUrl(AuthToken authToken) {
return UrlBuilder.fromBaseUrl(source.revoke()).queryParam("access_token", authToken.getAccessToken()).build();
}
/** /**
* 获取state,如果为空, 则默认去当前日期的时间戳 * 获取state,如果为空, 则默认去当前日期的时间戳
* *
...@@ -163,4 +172,24 @@ public abstract class AuthDefaultRequest implements AuthRequest { ...@@ -163,4 +172,24 @@ public abstract class AuthDefaultRequest implements AuthRequest {
protected HttpResponse doGetUserInfo(AuthToken authToken) { protected HttpResponse doGetUserInfo(AuthToken authToken) {
return HttpRequest.get(userInfoUrl(authToken)).execute(); return HttpRequest.get(userInfoUrl(authToken)).execute();
} }
/**
* 通用的post形式的取消授权方法
*
* @param authToken token封装
* @return HttpResponse
*/
protected HttpResponse doPostRevoke(AuthToken authToken) {
return HttpRequest.post(revokeUrl(authToken)).execute();
}
/**
* 通用的post形式的取消授权方法
*
* @param authToken token封装
* @return HttpResponse
*/
protected HttpResponse doGetRevoke(AuthToken authToken) {
return HttpRequest.get(revokeUrl(authToken)).execute();
}
} }
...@@ -6,12 +6,11 @@ import com.alibaba.fastjson.JSON; ...@@ -6,12 +6,11 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import me.zhyd.oauth.config.AuthConfig; import me.zhyd.oauth.config.AuthConfig;
import me.zhyd.oauth.config.AuthSource; import me.zhyd.oauth.config.AuthSource;
import me.zhyd.oauth.enums.AuthDingTalkErrorCode; import me.zhyd.oauth.enums.AuthUserGender;
import me.zhyd.oauth.exception.AuthException; import me.zhyd.oauth.exception.AuthException;
import me.zhyd.oauth.model.AuthCallback; import me.zhyd.oauth.model.AuthCallback;
import me.zhyd.oauth.model.AuthToken; import me.zhyd.oauth.model.AuthToken;
import me.zhyd.oauth.model.AuthUser; import me.zhyd.oauth.model.AuthUser;
import me.zhyd.oauth.model.AuthUserGender;
import me.zhyd.oauth.utils.GlobalAuthUtil; import me.zhyd.oauth.utils.GlobalAuthUtil;
import me.zhyd.oauth.utils.UrlBuilder; import me.zhyd.oauth.utils.UrlBuilder;
...@@ -39,11 +38,9 @@ public class AuthDingTalkRequest extends AuthDefaultRequest { ...@@ -39,11 +38,9 @@ public class AuthDingTalkRequest extends AuthDefaultRequest {
JSONObject param = new JSONObject(); JSONObject param = new JSONObject();
param.put("tmp_auth_code", code); param.put("tmp_auth_code", code);
HttpResponse response = HttpRequest.post(userInfoUrl(authToken)).body(param.toJSONString()).execute(); HttpResponse response = HttpRequest.post(userInfoUrl(authToken)).body(param.toJSONString()).execute();
String userInfo = response.body(); JSONObject object = JSON.parseObject(response.body());
JSONObject object = JSON.parseObject(userInfo); if (object.getIntValue("errcode") != 0) {
AuthDingTalkErrorCode errorCode = AuthDingTalkErrorCode.getErrorCode(object.getIntValue("errcode")); throw new AuthException(object.getString("errmsg"));
if (AuthDingTalkErrorCode.EC0 != errorCode) {
throw new AuthException(errorCode.getDesc());
} }
object = object.getJSONObject("user_info"); object = object.getJSONObject("user_info");
AuthToken token = AuthToken.builder() AuthToken token = AuthToken.builder()
......
...@@ -5,6 +5,7 @@ import cn.hutool.http.HttpResponse; ...@@ -5,6 +5,7 @@ import cn.hutool.http.HttpResponse;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import me.zhyd.oauth.config.AuthConfig; import me.zhyd.oauth.config.AuthConfig;
import me.zhyd.oauth.config.AuthSource; import me.zhyd.oauth.config.AuthSource;
import me.zhyd.oauth.enums.AuthUserGender;
import me.zhyd.oauth.exception.AuthException; import me.zhyd.oauth.exception.AuthException;
import me.zhyd.oauth.model.*; import me.zhyd.oauth.model.*;
import me.zhyd.oauth.utils.UrlBuilder; import me.zhyd.oauth.utils.UrlBuilder;
......
...@@ -8,7 +8,7 @@ import me.zhyd.oauth.exception.AuthException; ...@@ -8,7 +8,7 @@ import me.zhyd.oauth.exception.AuthException;
import me.zhyd.oauth.model.AuthCallback; import me.zhyd.oauth.model.AuthCallback;
import me.zhyd.oauth.model.AuthToken; import me.zhyd.oauth.model.AuthToken;
import me.zhyd.oauth.model.AuthUser; import me.zhyd.oauth.model.AuthUser;
import me.zhyd.oauth.model.AuthUserGender; import me.zhyd.oauth.enums.AuthUserGender;
import me.zhyd.oauth.utils.UrlBuilder; import me.zhyd.oauth.utils.UrlBuilder;
/** /**
......
...@@ -8,7 +8,7 @@ import me.zhyd.oauth.exception.AuthException; ...@@ -8,7 +8,7 @@ import me.zhyd.oauth.exception.AuthException;
import me.zhyd.oauth.model.AuthCallback; import me.zhyd.oauth.model.AuthCallback;
import me.zhyd.oauth.model.AuthToken; import me.zhyd.oauth.model.AuthToken;
import me.zhyd.oauth.model.AuthUser; import me.zhyd.oauth.model.AuthUser;
import me.zhyd.oauth.model.AuthUserGender; import me.zhyd.oauth.enums.AuthUserGender;
/** /**
* Gitee登录 * Gitee登录
......
...@@ -8,7 +8,7 @@ import me.zhyd.oauth.exception.AuthException; ...@@ -8,7 +8,7 @@ import me.zhyd.oauth.exception.AuthException;
import me.zhyd.oauth.model.AuthCallback; import me.zhyd.oauth.model.AuthCallback;
import me.zhyd.oauth.model.AuthToken; import me.zhyd.oauth.model.AuthToken;
import me.zhyd.oauth.model.AuthUser; import me.zhyd.oauth.model.AuthUser;
import me.zhyd.oauth.model.AuthUserGender; import me.zhyd.oauth.enums.AuthUserGender;
import me.zhyd.oauth.utils.GlobalAuthUtil; import me.zhyd.oauth.utils.GlobalAuthUtil;
import java.util.Map; import java.util.Map;
......
...@@ -8,7 +8,7 @@ import me.zhyd.oauth.exception.AuthException; ...@@ -8,7 +8,7 @@ import me.zhyd.oauth.exception.AuthException;
import me.zhyd.oauth.model.AuthCallback; import me.zhyd.oauth.model.AuthCallback;
import me.zhyd.oauth.model.AuthToken; import me.zhyd.oauth.model.AuthToken;
import me.zhyd.oauth.model.AuthUser; import me.zhyd.oauth.model.AuthUser;
import me.zhyd.oauth.model.AuthUserGender; import me.zhyd.oauth.enums.AuthUserGender;
import me.zhyd.oauth.utils.UrlBuilder; import me.zhyd.oauth.utils.UrlBuilder;
/** /**
......
...@@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSONArray; ...@@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import me.zhyd.oauth.config.AuthConfig; import me.zhyd.oauth.config.AuthConfig;
import me.zhyd.oauth.config.AuthSource; import me.zhyd.oauth.config.AuthSource;
import me.zhyd.oauth.enums.AuthUserGender;
import me.zhyd.oauth.exception.AuthException; import me.zhyd.oauth.exception.AuthException;
import me.zhyd.oauth.model.*; import me.zhyd.oauth.model.*;
import me.zhyd.oauth.utils.StringUtils; import me.zhyd.oauth.utils.StringUtils;
......
...@@ -7,6 +7,7 @@ import com.alibaba.fastjson.JSONObject; ...@@ -7,6 +7,7 @@ import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import me.zhyd.oauth.config.AuthConfig; import me.zhyd.oauth.config.AuthConfig;
import me.zhyd.oauth.config.AuthSource; import me.zhyd.oauth.config.AuthSource;
import me.zhyd.oauth.enums.AuthUserGender;
import me.zhyd.oauth.exception.AuthException; import me.zhyd.oauth.exception.AuthException;
import me.zhyd.oauth.model.*; import me.zhyd.oauth.model.*;
import me.zhyd.oauth.utils.UrlBuilder; import me.zhyd.oauth.utils.UrlBuilder;
......
...@@ -2,17 +2,14 @@ package me.zhyd.oauth.request; ...@@ -2,17 +2,14 @@ package me.zhyd.oauth.request;
import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse; import cn.hutool.http.HttpResponse;
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import me.zhyd.oauth.config.AuthConfig; import me.zhyd.oauth.config.AuthConfig;
import me.zhyd.oauth.config.AuthSource; import me.zhyd.oauth.config.AuthSource;
import me.zhyd.oauth.enums.AuthUserGender;
import me.zhyd.oauth.exception.AuthException; import me.zhyd.oauth.exception.AuthException;
import me.zhyd.oauth.model.*; import me.zhyd.oauth.model.*;
import me.zhyd.oauth.utils.UrlBuilder; import me.zhyd.oauth.utils.UrlBuilder;
import java.util.HashMap;
import java.util.Map;
import static me.zhyd.oauth.utils.GlobalAuthUtil.parseQueryToMap; import static me.zhyd.oauth.utils.GlobalAuthUtil.parseQueryToMap;
/** /**
......
...@@ -8,7 +8,7 @@ import me.zhyd.oauth.exception.AuthException; ...@@ -8,7 +8,7 @@ import me.zhyd.oauth.exception.AuthException;
import me.zhyd.oauth.model.AuthCallback; import me.zhyd.oauth.model.AuthCallback;
import me.zhyd.oauth.model.AuthToken; import me.zhyd.oauth.model.AuthToken;
import me.zhyd.oauth.model.AuthUser; import me.zhyd.oauth.model.AuthUser;
import me.zhyd.oauth.model.AuthUserGender; import me.zhyd.oauth.enums.AuthUserGender;
import me.zhyd.oauth.utils.UrlBuilder; import me.zhyd.oauth.utils.UrlBuilder;
/** /**
......
...@@ -8,7 +8,7 @@ import me.zhyd.oauth.exception.AuthException; ...@@ -8,7 +8,7 @@ import me.zhyd.oauth.exception.AuthException;
import me.zhyd.oauth.model.AuthCallback; import me.zhyd.oauth.model.AuthCallback;
import me.zhyd.oauth.model.AuthToken; import me.zhyd.oauth.model.AuthToken;
import me.zhyd.oauth.model.AuthUser; import me.zhyd.oauth.model.AuthUser;
import me.zhyd.oauth.model.AuthUserGender; import me.zhyd.oauth.enums.AuthUserGender;
import me.zhyd.oauth.utils.UrlBuilder; import me.zhyd.oauth.utils.UrlBuilder;
import java.util.Objects; import java.util.Objects;
......
...@@ -10,7 +10,7 @@ import me.zhyd.oauth.exception.AuthException; ...@@ -10,7 +10,7 @@ import me.zhyd.oauth.exception.AuthException;
import me.zhyd.oauth.model.AuthCallback; import me.zhyd.oauth.model.AuthCallback;
import me.zhyd.oauth.model.AuthToken; import me.zhyd.oauth.model.AuthToken;
import me.zhyd.oauth.model.AuthUser; import me.zhyd.oauth.model.AuthUser;
import me.zhyd.oauth.model.AuthUserGender; import me.zhyd.oauth.enums.AuthUserGender;
import me.zhyd.oauth.utils.GlobalAuthUtil; import me.zhyd.oauth.utils.GlobalAuthUtil;
import me.zhyd.oauth.utils.StringUtils; import me.zhyd.oauth.utils.StringUtils;
import me.zhyd.oauth.utils.UrlBuilder; import me.zhyd.oauth.utils.UrlBuilder;
......
...@@ -5,6 +5,7 @@ import cn.hutool.http.HttpResponse; ...@@ -5,6 +5,7 @@ import cn.hutool.http.HttpResponse;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import me.zhyd.oauth.config.AuthConfig; import me.zhyd.oauth.config.AuthConfig;
import me.zhyd.oauth.enums.AuthUserGender;
import me.zhyd.oauth.exception.AuthException; import me.zhyd.oauth.exception.AuthException;
import me.zhyd.oauth.model.*; import me.zhyd.oauth.model.*;
import me.zhyd.oauth.utils.UrlBuilder; import me.zhyd.oauth.utils.UrlBuilder;
......
...@@ -8,7 +8,7 @@ import me.zhyd.oauth.exception.AuthException; ...@@ -8,7 +8,7 @@ import me.zhyd.oauth.exception.AuthException;
import me.zhyd.oauth.model.AuthCallback; import me.zhyd.oauth.model.AuthCallback;
import me.zhyd.oauth.model.AuthToken; import me.zhyd.oauth.model.AuthToken;
import me.zhyd.oauth.model.AuthUser; import me.zhyd.oauth.model.AuthUser;
import me.zhyd.oauth.model.AuthUserGender; import me.zhyd.oauth.enums.AuthUserGender;
import me.zhyd.oauth.utils.UrlBuilder; import me.zhyd.oauth.utils.UrlBuilder;
import static me.zhyd.oauth.config.AuthSource.STACK_OVERFLOW; import static me.zhyd.oauth.config.AuthSource.STACK_OVERFLOW;
......
...@@ -8,7 +8,7 @@ import me.zhyd.oauth.exception.AuthException; ...@@ -8,7 +8,7 @@ import me.zhyd.oauth.exception.AuthException;
import me.zhyd.oauth.model.AuthCallback; import me.zhyd.oauth.model.AuthCallback;
import me.zhyd.oauth.model.AuthToken; import me.zhyd.oauth.model.AuthToken;
import me.zhyd.oauth.model.AuthUser; import me.zhyd.oauth.model.AuthUser;
import me.zhyd.oauth.model.AuthUserGender; import me.zhyd.oauth.enums.AuthUserGender;
import me.zhyd.oauth.utils.GlobalAuthUtil; import me.zhyd.oauth.utils.GlobalAuthUtil;
import me.zhyd.oauth.utils.UrlBuilder; import me.zhyd.oauth.utils.UrlBuilder;
......
...@@ -5,6 +5,7 @@ import cn.hutool.http.HttpResponse; ...@@ -5,6 +5,7 @@ import cn.hutool.http.HttpResponse;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import me.zhyd.oauth.config.AuthConfig; import me.zhyd.oauth.config.AuthConfig;
import me.zhyd.oauth.config.AuthSource; import me.zhyd.oauth.config.AuthSource;
import me.zhyd.oauth.enums.AuthUserGender;
import me.zhyd.oauth.exception.AuthException; import me.zhyd.oauth.exception.AuthException;
import me.zhyd.oauth.model.*; import me.zhyd.oauth.model.*;
......
...@@ -8,7 +8,7 @@ import me.zhyd.oauth.exception.AuthException; ...@@ -8,7 +8,7 @@ import me.zhyd.oauth.exception.AuthException;
import me.zhyd.oauth.model.AuthCallback; import me.zhyd.oauth.model.AuthCallback;
import me.zhyd.oauth.model.AuthToken; import me.zhyd.oauth.model.AuthToken;
import me.zhyd.oauth.model.AuthUser; import me.zhyd.oauth.model.AuthUser;
import me.zhyd.oauth.model.AuthUserGender; import me.zhyd.oauth.enums.AuthUserGender;
import me.zhyd.oauth.utils.UrlBuilder; import me.zhyd.oauth.utils.UrlBuilder;
/** /**
......
...@@ -9,7 +9,7 @@ import me.zhyd.oauth.exception.AuthException; ...@@ -9,7 +9,7 @@ import me.zhyd.oauth.exception.AuthException;
import me.zhyd.oauth.model.AuthCallback; import me.zhyd.oauth.model.AuthCallback;
import me.zhyd.oauth.model.AuthToken; import me.zhyd.oauth.model.AuthToken;
import me.zhyd.oauth.model.AuthUser; import me.zhyd.oauth.model.AuthUser;
import me.zhyd.oauth.model.AuthUserGender; import me.zhyd.oauth.enums.AuthUserGender;
import me.zhyd.oauth.utils.UrlBuilder; import me.zhyd.oauth.utils.UrlBuilder;
/** /**
......
...@@ -5,6 +5,7 @@ import cn.hutool.http.HttpResponse; ...@@ -5,6 +5,7 @@ import cn.hutool.http.HttpResponse;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import me.zhyd.oauth.config.AuthConfig; import me.zhyd.oauth.config.AuthConfig;
import me.zhyd.oauth.config.AuthSource; import me.zhyd.oauth.config.AuthSource;
import me.zhyd.oauth.enums.AuthUserGender;
import me.zhyd.oauth.exception.AuthException; import me.zhyd.oauth.exception.AuthException;
import me.zhyd.oauth.model.*; import me.zhyd.oauth.model.*;
import me.zhyd.oauth.utils.UrlBuilder; import me.zhyd.oauth.utils.UrlBuilder;
......
...@@ -9,7 +9,7 @@ import me.zhyd.oauth.exception.AuthException; ...@@ -9,7 +9,7 @@ import me.zhyd.oauth.exception.AuthException;
import me.zhyd.oauth.model.AuthCallback; import me.zhyd.oauth.model.AuthCallback;
import me.zhyd.oauth.model.AuthToken; import me.zhyd.oauth.model.AuthToken;
import me.zhyd.oauth.model.AuthUser; import me.zhyd.oauth.model.AuthUser;
import me.zhyd.oauth.model.AuthUserGender; import me.zhyd.oauth.enums.AuthUserGender;
import me.zhyd.oauth.utils.IpUtils; import me.zhyd.oauth.utils.IpUtils;
import me.zhyd.oauth.utils.StringUtils; import me.zhyd.oauth.utils.StringUtils;
import me.zhyd.oauth.utils.UrlBuilder; import me.zhyd.oauth.utils.UrlBuilder;
......
### 2019/07/19
1. 合并github上[@dyc12ii](https://github.com/dyc12ii)[pr#25](https://github.com/zhangyd-c/JustAuth/pull/25),升级fastjson版本至1.2.58,避免安全漏洞
2. `AuthUserGender`枚举类挪到`enums`包下
3. 删除`AuthBaiduErrorCode``AuthDingTalkErrorCode`枚举类
4. 优化百度授权流程,增加refresh token的方法
5. 优化`AuthConfig``AuthResponse`类,去掉不必要的lombonk注解,减少编译后的代码量
6. 使用lombok注解优化枚举类
### 2019/07/18 ### 2019/07/18
1. 合并github上[@pengisgood](https://github.com/pengisgood)[pr#19](https://github.com/zhangyd-c/JustAuth/pull/19),集成人人 1. 合并github上[@pengisgood](https://github.com/pengisgood)[pr#19](https://github.com/zhangyd-c/JustAuth/pull/19),集成人人
2. 合并github上[@pengisgood](https://github.com/pengisgood)[pr#20](https://github.com/zhangyd-c/JustAuth/pull/20),集成Pinterest 2. 合并github上[@pengisgood](https://github.com/pengisgood)[pr#20](https://github.com/zhangyd-c/JustAuth/pull/20),集成Pinterest
2. 合并github上[@pengisgood](https://github.com/pengisgood)[pr#21](https://github.com/zhangyd-c/JustAuth/pull/21),集成StackOverflow 3. 合并github上[@pengisgood](https://github.com/pengisgood)[pr#21](https://github.com/zhangyd-c/JustAuth/pull/21),集成StackOverflow
4. 合并github上[@xkcoding](https://github.com/xkcoding)[pr#23](https://github.com/zhangyd-c/JustAuth/pull/23),重构代码、新增编辑器规范,规范PR代码风格
### 2019/07/17 ### 2019/07/17
1. 优化代码 1. 优化代码
...@@ -11,7 +22,8 @@ ...@@ -11,7 +22,8 @@
1. 重构UrlBuilder类 1. 重构UrlBuilder类
2. 将CSDN相关的类置为`Deprecated`,后续可能会删除,也可能一直保留。毕竟CSDN的openAPI已经不对外开放了。 2. 将CSDN相关的类置为`Deprecated`,后续可能会删除,也可能一直保留。毕竟CSDN的openAPI已经不对外开放了。
3. `BaseAuthRequest` 改名为 `AuthDefaultRequest` 3. `BaseAuthRequest` 改名为 `AuthDefaultRequest`
3. `ResponseStatus` 改名为 `AuthResponseStatus` 并且移动到 `me.zhyd.oauth.model` 4. `ResponseStatus` 改名为 `AuthResponseStatus` 并且移动到 `me.zhyd.oauth.model`
5. 合并github上[@xkcoding](https://github.com/xkcoding)[pr#18](https://github.com/zhangyd-c/JustAuth/pull/18),修复小米回调错误问题 同时 支持微信获取
### 2019/07/15 ### 2019/07/15
1. 新增 `AuthState` 类,内置默认的state生成规则和校验规则 1. 新增 `AuthState` 类,内置默认的state生成规则和校验规则
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册