diff --git a/README.md b/README.md
index f69427733c1011bf407e0641c596bd7684187134..876f33bde9c37ef4423876b137b45f8ae9bcee8a 100644
--- a/README.md
+++ b/README.md
@@ -16,6 +16,67 @@
+
+
+
-------------------------------------------------------------------------------
-JustAuth,如你所见,它仅仅是一个**第三方授权登录**的**工具类库**,它可以让我们脱离繁琐的第三方登录SDK,让登录变得**So easy!**
\ No newline at end of file
+
+
+JustAuth,如你所见,它仅仅是一个**第三方授权登录**的**工具类库**,它可以让我们脱离繁琐的第三方登录SDK,让登录变得**So easy!**
+
+## 快速使用
+- 引入依赖
+```xml
+
+ me.zhyd.oauth
+ JustAuth
+ 1.0.0
+
+```
+- 调用api
+```java
+AuthRequest authRequest = new AuthGiteeRequest(AuthConfig.builder()
+ .clientId("clientId")
+ .clientSecret("clientSecret")
+ .redirectUri("redirectUri")
+ .build());
+// 自动跳转到授权页面
+authRequest.authorize(response);
+// 返回授权页面,可自行调整
+authRequest.authorize();
+```
+
+#### API列表
+| :computer: 平台 | :coffee: API类 | :page_facing_up: SDK |
+|:------:|:-------:|:-------:|
+| | [AuthGiteeRequest](https://gitee.com/yadong.zhang/JustAuth/blob/master/src/main/java/me/zhyd/oauth/request/AuthGiteeRequest.java) | [https://github.com/settings/developers](https://github.com/settings/developers) |
+| | [AuthGithubRequest](https://gitee.com/yadong.zhang/JustAuth/blob/master/src/main/java/me/zhyd/oauth/request/AuthGiteeRequest.java) | [https://gitee.com/api/v5/oauth_doc#list_1](https://gitee.com/api/v5/oauth_doc#list_1) |
+| | [AuthWeiboRequest](https://gitee.com/yadong.zhang/JustAuth/blob/master/src/main/java/me/zhyd/oauth/request/AuthGiteeRequest.java) | [https://open.weibo.com/apps](https://open.weibo.com/apps) |
+| | AuthCsdnRequest | [https://connect.qq.com/](https://connect.qq.com/) |
+| | AuthDingTalkRequest | 待续 |
+| | AuthQqRequest | 待续 |
+| | AuthWechatRequest | 待续 |
diff --git a/src/main/java/me/zhyd/oauth/config/GiteeConfig.java b/src/main/java/me/zhyd/oauth/config/GiteeConfig.java
deleted file mode 100644
index f5ad3fd0f334737ef36375e923fb93eef3264840..0000000000000000000000000000000000000000
--- a/src/main/java/me/zhyd/oauth/config/GiteeConfig.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package me.zhyd.oauth.config;
-
-import lombok.Builder;
-import lombok.Getter;
-
-/**
- * @author yadong.zhang (yadong.zhang0415(a)gmail.com)
- * @version 1.0
- * @website https://www.zhyd.me
- * @date 2019/2/14 13:34
- * @since 1.8
- */
-@Getter
-@Builder
-public class GiteeConfig extends AuthConfig {
-}
diff --git a/src/main/java/me/zhyd/oauth/config/GithubConfig.java b/src/main/java/me/zhyd/oauth/config/GithubConfig.java
deleted file mode 100644
index 73de97165baae1ebb1438b8eac92628c616a8686..0000000000000000000000000000000000000000
--- a/src/main/java/me/zhyd/oauth/config/GithubConfig.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package me.zhyd.oauth.config;
-
-import lombok.Builder;
-import lombok.Getter;
-
-/**
- * @author yadong.zhang (yadong.zhang0415(a)gmail.com)
- * @version 1.0
- * @website https://www.zhyd.me
- * @date 2019/2/14 13:34
- * @since 1.8
- */
-@Getter
-@Builder
-public class GithubConfig extends AuthConfig {
-}
diff --git a/src/main/java/me/zhyd/oauth/config/QqConfig.java b/src/main/java/me/zhyd/oauth/config/QqConfig.java
deleted file mode 100644
index d1057b1df365b96ecfa693198b2d72d8344b84a8..0000000000000000000000000000000000000000
--- a/src/main/java/me/zhyd/oauth/config/QqConfig.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package me.zhyd.oauth.config;
-
-import lombok.Builder;
-import lombok.Getter;
-
-/**
- * @author yadong.zhang (yadong.zhang0415(a)gmail.com)
- * @version 1.0
- * @website https://www.zhyd.me
- * @date 2019/2/14 13:34
- * @since 1.8
- */
-@Getter
-@Builder
-@Deprecated
-public class QqConfig extends AuthConfig {
-}
diff --git a/src/main/java/me/zhyd/oauth/config/WechatConfig.java b/src/main/java/me/zhyd/oauth/config/WechatConfig.java
deleted file mode 100644
index 96250670de6996833ae14e9b67f984c6dbdd0980..0000000000000000000000000000000000000000
--- a/src/main/java/me/zhyd/oauth/config/WechatConfig.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package me.zhyd.oauth.config;
-
-import lombok.Builder;
-import lombok.Getter;
-
-/**
- * @author yadong.zhang (yadong.zhang0415(a)gmail.com)
- * @version 1.0
- * @website https://www.zhyd.me
- * @date 2019/2/14 13:34
- * @since 1.8
- */
-@Getter
-@Builder
-@Deprecated
-public class WechatConfig extends AuthConfig {
-}
diff --git a/src/main/java/me/zhyd/oauth/config/WeiboConfig.java b/src/main/java/me/zhyd/oauth/config/WeiboConfig.java
deleted file mode 100644
index 8ea09842bdb24047407b528957e74484371e246f..0000000000000000000000000000000000000000
--- a/src/main/java/me/zhyd/oauth/config/WeiboConfig.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package me.zhyd.oauth.config;
-
-import lombok.Builder;
-import lombok.Getter;
-
-/**
- * @author yadong.zhang (yadong.zhang0415(a)gmail.com)
- * @version 1.0
- * @website https://www.zhyd.me
- * @date 2019/2/14 13:34
- * @since 1.8
- */
-@Getter
-@Builder
-public class WeiboConfig extends AuthConfig {
-}
diff --git a/src/main/java/me/zhyd/oauth/request/AuthGiteeRequest.java b/src/main/java/me/zhyd/oauth/request/AuthGiteeRequest.java
index 9f230616b63835a0ca6aa6e54bcf62ce613865c6..aee139cfbf50ffe6a4dac343554de774a1332780 100644
--- a/src/main/java/me/zhyd/oauth/request/AuthGiteeRequest.java
+++ b/src/main/java/me/zhyd/oauth/request/AuthGiteeRequest.java
@@ -21,10 +21,14 @@ import java.io.IOException;
* @date 2019/1/31 16:31
* @since 1.8
*/
-public class AuthGiteeRequest implements AuthRequest {
+public class AuthGiteeRequest extends BaseAuthRequest implements AuthRequest {
+
+ public AuthGiteeRequest(AuthConfig config) {
+ super(config);
+ }
@Override
- public void authorize(AuthConfig config, HttpServletResponse response) {
+ public void authorize(HttpServletResponse response) {
if (!AuthConfigChecker.isSupportedGitee()) {
throw new AuthException(ResponseStatus.UNSUPPORTED);
}
@@ -37,7 +41,7 @@ public class AuthGiteeRequest implements AuthRequest {
}
@Override
- public String authorize(AuthConfig config) {
+ public String authorize() {
if (!AuthConfigChecker.isSupportedGitee()) {
throw new AuthException(ResponseStatus.UNSUPPORTED);
}
@@ -45,7 +49,7 @@ public class AuthGiteeRequest implements AuthRequest {
}
@Override
- public AuthResponse login(AuthConfig config, String code) {
+ public AuthResponse login(String code) {
if (!AuthConfigChecker.isSupportedGitee()) {
return AuthResponse.builder()
.code(ResponseStatus.UNSUPPORTED.getCode())
diff --git a/src/main/java/me/zhyd/oauth/request/AuthGithubRequest.java b/src/main/java/me/zhyd/oauth/request/AuthGithubRequest.java
index 97da27bc42f1f3d646eb9635e095516e4739e205..54838380576b9aaa775552e00aaf10bdd74323df 100644
--- a/src/main/java/me/zhyd/oauth/request/AuthGithubRequest.java
+++ b/src/main/java/me/zhyd/oauth/request/AuthGithubRequest.java
@@ -21,10 +21,14 @@ import java.io.IOException;
* @date 2019/1/31 16:31
* @since 1.8
*/
-public class AuthGithubRequest implements AuthRequest {
+public class AuthGithubRequest extends BaseAuthRequest implements AuthRequest {
+
+ public AuthGithubRequest(AuthConfig config) {
+ super(config);
+ }
@Override
- public void authorize(AuthConfig config, HttpServletResponse response) {
+ public void authorize(HttpServletResponse response) {
if (!AuthConfigChecker.isSupportedGithub()) {
throw new AuthException(ResponseStatus.UNSUPPORTED);
}
@@ -37,7 +41,7 @@ public class AuthGithubRequest implements AuthRequest {
}
@Override
- public String authorize(AuthConfig config) {
+ public String authorize() {
if (!AuthConfigChecker.isSupportedGithub()) {
throw new AuthException(ResponseStatus.UNSUPPORTED);
}
@@ -45,7 +49,7 @@ public class AuthGithubRequest implements AuthRequest {
}
@Override
- public AuthResponse login(AuthConfig config, String code) {
+ public AuthResponse login(String code) {
if (!AuthConfigChecker.isSupportedGithub()) {
return AuthResponse.builder()
.code(ResponseStatus.UNSUPPORTED.getCode())
diff --git a/src/main/java/me/zhyd/oauth/request/AuthRequest.java b/src/main/java/me/zhyd/oauth/request/AuthRequest.java
index eb9d3d03280bfee300441ffb74b5b3540996568c..76d10fac5ef9a159f2706d1c3a4e0f83ab8b9449 100644
--- a/src/main/java/me/zhyd/oauth/request/AuthRequest.java
+++ b/src/main/java/me/zhyd/oauth/request/AuthRequest.java
@@ -1,6 +1,5 @@
package me.zhyd.oauth.request;
-import me.zhyd.oauth.config.AuthConfig;
import me.zhyd.oauth.exception.AuthException;
import me.zhyd.oauth.model.AuthResponse;
@@ -18,30 +17,26 @@ public interface AuthRequest {
/**
* 自动跳转到认证页面
*
- * @param config 授权的配置,对应不同平台
* @param response response
*/
- default void authorize(AuthConfig config, HttpServletResponse response) {
+ default void authorize(HttpServletResponse response) {
throw new AuthException(ResponseStatus.NOT_IMPLEMENTED);
}
/**
* 返回认证url,可自行跳转页面
- *
- * @param config 授权的配置,对应不同平台
*/
- default String authorize(AuthConfig config) {
+ default String authorize() {
throw new AuthException(ResponseStatus.NOT_IMPLEMENTED);
}
/**
* 第三方登录
*
- * @param config 授权的配置,对应不同平台
- * @param code 通过authorize换回的code
+ * @param code 通过authorize换回的code
* @return 返回登陆成功后的用户信息
*/
- default AuthResponse login(AuthConfig config, String code) {
+ default AuthResponse login(String code) {
throw new AuthException(ResponseStatus.NOT_IMPLEMENTED);
}
}
diff --git a/src/main/java/me/zhyd/oauth/request/AuthWeiboRequest.java b/src/main/java/me/zhyd/oauth/request/AuthWeiboRequest.java
index cc2a8c1cf7da2c3a9b22cff47d1105e3cd4522ea..9dd0edf0b1ca560c8c475b2cfe366f833e14f0c4 100644
--- a/src/main/java/me/zhyd/oauth/request/AuthWeiboRequest.java
+++ b/src/main/java/me/zhyd/oauth/request/AuthWeiboRequest.java
@@ -24,10 +24,14 @@ import java.io.IOException;
* @date 2019/1/31 16:31
* @since 1.8
*/
-public class AuthWeiboRequest implements AuthRequest {
+public class AuthWeiboRequest extends BaseAuthRequest implements AuthRequest {
+
+ public AuthWeiboRequest(AuthConfig config) {
+ super(config);
+ }
@Override
- public void authorize(AuthConfig config, HttpServletResponse response) {
+ public void authorize(HttpServletResponse response) {
if (!AuthConfigChecker.isSupportedWeibo()) {
throw new AuthException(ResponseStatus.UNSUPPORTED);
}
@@ -40,7 +44,7 @@ public class AuthWeiboRequest implements AuthRequest {
}
@Override
- public String authorize(AuthConfig config) {
+ public String authorize() {
if (!AuthConfigChecker.isSupportedWeibo()) {
throw new AuthException(ResponseStatus.UNSUPPORTED);
}
@@ -48,7 +52,7 @@ public class AuthWeiboRequest implements AuthRequest {
}
@Override
- public AuthResponse login(AuthConfig config, String code) {
+ public AuthResponse login(String code) {
if (!AuthConfigChecker.isSupportedWeibo()) {
return AuthResponse.builder()
.code(ResponseStatus.UNSUPPORTED.getCode())
diff --git a/src/main/java/me/zhyd/oauth/request/BaseAuthRequest.java b/src/main/java/me/zhyd/oauth/request/BaseAuthRequest.java
new file mode 100644
index 0000000000000000000000000000000000000000..03b7b95d4cc9d60ae0a54bf80360914ee55d3461
--- /dev/null
+++ b/src/main/java/me/zhyd/oauth/request/BaseAuthRequest.java
@@ -0,0 +1,20 @@
+package me.zhyd.oauth.request;
+
+import lombok.Data;
+import me.zhyd.oauth.config.AuthConfig;
+
+/**
+ * @author yadong.zhang (yadong.zhang0415(a)gmail.com)
+ * @version 1.0
+ * @website https://www.zhyd.me
+ * @date 2019/2/18 13:11
+ * @since 1.8
+ */
+@Data
+public abstract class BaseAuthRequest {
+ protected AuthConfig config;
+
+ public BaseAuthRequest(AuthConfig config) {
+ this.config = config;
+ }
+}
diff --git a/src/test/java/me/zhyd/oauth/AuthRequestTest.java b/src/test/java/me/zhyd/oauth/AuthRequestTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..f01b82a9c13c72a3fa39ec43cb12b48bb3b279ff
--- /dev/null
+++ b/src/test/java/me/zhyd/oauth/AuthRequestTest.java
@@ -0,0 +1,59 @@
+package me.zhyd.oauth;
+
+import me.zhyd.oauth.config.AuthConfig;
+import me.zhyd.oauth.request.AuthGiteeRequest;
+import me.zhyd.oauth.request.AuthGithubRequest;
+import me.zhyd.oauth.request.AuthRequest;
+import me.zhyd.oauth.request.AuthWeiboRequest;
+import org.junit.Test;
+
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * @author yadong.zhang (yadong.zhang0415(a)gmail.com)
+ * @version 1.0
+ * @website https://www.zhyd.me
+ * @date 2019/2/18 13:10
+ * @since 1.8
+ */
+public class AuthRequestTest {
+
+ @Test
+ public void giteeTest(HttpServletResponse response) {
+ AuthRequest authRequest = new AuthGiteeRequest(AuthConfig.builder()
+ .clientId("clientId")
+ .clientSecret("clientSecret")
+ .redirectUri("redirectUri")
+ .build());
+ // 自动跳转到授权页面
+ authRequest.authorize(response);
+ // 返回授权页面,可自行调整
+ authRequest.authorize();
+ }
+
+ @Test
+ public void githubTest(HttpServletResponse response) {
+ AuthRequest authRequest = new AuthGithubRequest(AuthConfig.builder()
+ .clientId("clientId")
+ .clientSecret("clientSecret")
+ .redirectUri("redirectUri")
+ .build());
+ // 自动跳转到授权页面
+ authRequest.authorize(response);
+ // 返回授权页面,可自行调整
+ authRequest.authorize();
+ }
+
+ @Test
+ public void weiboTest(HttpServletResponse response) {
+ AuthRequest authRequest = new AuthWeiboRequest(AuthConfig.builder()
+ .clientId("clientId")
+ .clientSecret("clientSecret")
+ .redirectUri("redirectUri")
+ .build());
+ // 自动跳转到授权页面
+ authRequest.authorize(response);
+ // 返回授权页面,可自行调整
+ authRequest.authorize();
+ }
+}