提交 3589878b 编写于 作者: 智布道's avatar 智布道 👁

👽 更新api调用方式、更新文档

上级 8675f1f9
...@@ -16,6 +16,67 @@ ...@@ -16,6 +16,67 @@
</a> </a>
</p> </p>
<center>
<table>
<thead>
<tr>
<td align="center" width="200"><a href="https://gitee.com/"><img src="https://gitee.com/logo_icon.png" width="30"></a></td>
<td align="center" width="200"><a href="https://github.com"><img src="https://gitee.com/yadong.zhang/static/raw/master/JustAuth/github.png" width="30"></a></td>
<td align="center" width="200"><a href="https://weibo.com"><img src="https://gitee.com/yadong.zhang/static/raw/master/JustAuth/weibo.png" width="30"></a></td>
<td align="center" width="200"><a href="https://www.csdn.net/"><img src="https://gitee.com/yadong.zhang/static/raw/master/JustAuth/csdn.png" width="30"></a></td>
<td align="center" width="200"><a href="https://www.dingtalk.com"><img src="https://gitee.com/yadong.zhang/static/raw/master/JustAuth/dingding.png" width="30"></a></td>
<td align="center" width="200"><a href="https://connect.qq.com/devuser.html#/"><img src="https://gitee.com/yadong.zhang/static/raw/master/JustAuth/qq.png" width="30"></a></td>
<td align="center" width="200"><a href="https://mp.weixin.qq.com/cgi-bin/loginpage?t=wxm2-login&lang=zh_CN"><img src="https://gitee.com/yadong.zhang/static/raw/master/JustAuth/wechats.png" width="30"></a></td>
</tr>
</thead>
<tbody>
<tr>
<td align="center" width="200"><a href="#Gitee">Gitee</a></td>
<td align="center" width="200"><a href="#Github">Github</a></td>
<td align="center" width="200"><a href="#Weibo">Weibo</a></td>
<td align="center" width="200"><a href="#CSDN">CSDN</a></td>
<td align="center" width="200"><a href="#钉钉">钉钉</a></td>
<td align="center" width="200"><a href="#QQ">QQ</a></td>
<td align="center" width="200"><a href="#微信">微信</a></td>
</tr>
</tbody>
</table>
</center>
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
JustAuth,如你所见,它仅仅是一个**第三方授权登录****工具类库**,它可以让我们脱离繁琐的第三方登录SDK,让登录变得**So easy!** JustAuth,如你所见,它仅仅是一个**第三方授权登录****工具类库**,它可以让我们脱离繁琐的第三方登录SDK,让登录变得**So easy!**
## 快速使用
- 引入依赖
```xml
<dependency>
<groupId>me.zhyd.oauth</groupId>
<artifactId>JustAuth</artifactId>
<version>1.0.0</version>
</dependency>
```
- 调用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 |
|:------:|:-------:|:-------:|
| <img src="https://gitee.com/logo_icon.png" width="20"> | [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) |
| <img src="https://gitee.com/yadong.zhang/static/raw/master/JustAuth/github.png" width="20"> | [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) |
| <img src="https://gitee.com/yadong.zhang/static/raw/master/JustAuth/weibo.png" width="20"> | [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) |
| <img src="https://gitee.com/yadong.zhang/static/raw/master/JustAuth/csdn.png" width="20"> | AuthCsdnRequest | [https://connect.qq.com/](https://connect.qq.com/) |
| <img src="https://gitee.com/yadong.zhang/static/raw/master/JustAuth/dingding.png" width="20"> | AuthDingTalkRequest | 待续 |
| <img src="https://gitee.com/yadong.zhang/static/raw/master/JustAuth/qq.png" width="20"> | AuthQqRequest | 待续 |
| <img src="https://gitee.com/yadong.zhang/static/raw/master/JustAuth/wechats.png" width="20"> | AuthWechatRequest | 待续 |
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 {
}
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 {
}
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 {
}
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 {
}
...@@ -21,10 +21,14 @@ import java.io.IOException; ...@@ -21,10 +21,14 @@ import java.io.IOException;
* @date 2019/1/31 16:31 * @date 2019/1/31 16:31
* @since 1.8 * @since 1.8
*/ */
public class AuthGiteeRequest implements AuthRequest { public class AuthGiteeRequest extends BaseAuthRequest implements AuthRequest {
public AuthGiteeRequest(AuthConfig config) {
super(config);
}
@Override @Override
public void authorize(AuthConfig config, HttpServletResponse response) { public void authorize(HttpServletResponse response) {
if (!AuthConfigChecker.isSupportedGitee()) { if (!AuthConfigChecker.isSupportedGitee()) {
throw new AuthException(ResponseStatus.UNSUPPORTED); throw new AuthException(ResponseStatus.UNSUPPORTED);
} }
...@@ -37,7 +41,7 @@ public class AuthGiteeRequest implements AuthRequest { ...@@ -37,7 +41,7 @@ public class AuthGiteeRequest implements AuthRequest {
} }
@Override @Override
public String authorize(AuthConfig config) { public String authorize() {
if (!AuthConfigChecker.isSupportedGitee()) { if (!AuthConfigChecker.isSupportedGitee()) {
throw new AuthException(ResponseStatus.UNSUPPORTED); throw new AuthException(ResponseStatus.UNSUPPORTED);
} }
...@@ -45,7 +49,7 @@ public class AuthGiteeRequest implements AuthRequest { ...@@ -45,7 +49,7 @@ public class AuthGiteeRequest implements AuthRequest {
} }
@Override @Override
public AuthResponse login(AuthConfig config, String code) { public AuthResponse login(String code) {
if (!AuthConfigChecker.isSupportedGitee()) { if (!AuthConfigChecker.isSupportedGitee()) {
return AuthResponse.builder() return AuthResponse.builder()
.code(ResponseStatus.UNSUPPORTED.getCode()) .code(ResponseStatus.UNSUPPORTED.getCode())
......
...@@ -21,10 +21,14 @@ import java.io.IOException; ...@@ -21,10 +21,14 @@ import java.io.IOException;
* @date 2019/1/31 16:31 * @date 2019/1/31 16:31
* @since 1.8 * @since 1.8
*/ */
public class AuthGithubRequest implements AuthRequest { public class AuthGithubRequest extends BaseAuthRequest implements AuthRequest {
public AuthGithubRequest(AuthConfig config) {
super(config);
}
@Override @Override
public void authorize(AuthConfig config, HttpServletResponse response) { public void authorize(HttpServletResponse response) {
if (!AuthConfigChecker.isSupportedGithub()) { if (!AuthConfigChecker.isSupportedGithub()) {
throw new AuthException(ResponseStatus.UNSUPPORTED); throw new AuthException(ResponseStatus.UNSUPPORTED);
} }
...@@ -37,7 +41,7 @@ public class AuthGithubRequest implements AuthRequest { ...@@ -37,7 +41,7 @@ public class AuthGithubRequest implements AuthRequest {
} }
@Override @Override
public String authorize(AuthConfig config) { public String authorize() {
if (!AuthConfigChecker.isSupportedGithub()) { if (!AuthConfigChecker.isSupportedGithub()) {
throw new AuthException(ResponseStatus.UNSUPPORTED); throw new AuthException(ResponseStatus.UNSUPPORTED);
} }
...@@ -45,7 +49,7 @@ public class AuthGithubRequest implements AuthRequest { ...@@ -45,7 +49,7 @@ public class AuthGithubRequest implements AuthRequest {
} }
@Override @Override
public AuthResponse login(AuthConfig config, String code) { public AuthResponse login(String code) {
if (!AuthConfigChecker.isSupportedGithub()) { if (!AuthConfigChecker.isSupportedGithub()) {
return AuthResponse.builder() return AuthResponse.builder()
.code(ResponseStatus.UNSUPPORTED.getCode()) .code(ResponseStatus.UNSUPPORTED.getCode())
......
package me.zhyd.oauth.request; package me.zhyd.oauth.request;
import me.zhyd.oauth.config.AuthConfig;
import me.zhyd.oauth.exception.AuthException; import me.zhyd.oauth.exception.AuthException;
import me.zhyd.oauth.model.AuthResponse; import me.zhyd.oauth.model.AuthResponse;
...@@ -18,30 +17,26 @@ public interface AuthRequest { ...@@ -18,30 +17,26 @@ public interface AuthRequest {
/** /**
* 自动跳转到认证页面 * 自动跳转到认证页面
* *
* @param config 授权的配置,对应不同平台
* @param response response * @param response response
*/ */
default void authorize(AuthConfig config, HttpServletResponse response) { default void authorize(HttpServletResponse response) {
throw new AuthException(ResponseStatus.NOT_IMPLEMENTED); throw new AuthException(ResponseStatus.NOT_IMPLEMENTED);
} }
/** /**
* 返回认证url,可自行跳转页面 * 返回认证url,可自行跳转页面
*
* @param config 授权的配置,对应不同平台
*/ */
default String authorize(AuthConfig config) { default String authorize() {
throw new AuthException(ResponseStatus.NOT_IMPLEMENTED); throw new AuthException(ResponseStatus.NOT_IMPLEMENTED);
} }
/** /**
* 第三方登录 * 第三方登录
* *
* @param config 授权的配置,对应不同平台
* @param code 通过authorize换回的code * @param code 通过authorize换回的code
* @return 返回登陆成功后的用户信息 * @return 返回登陆成功后的用户信息
*/ */
default AuthResponse login(AuthConfig config, String code) { default AuthResponse login(String code) {
throw new AuthException(ResponseStatus.NOT_IMPLEMENTED); throw new AuthException(ResponseStatus.NOT_IMPLEMENTED);
} }
} }
...@@ -24,10 +24,14 @@ import java.io.IOException; ...@@ -24,10 +24,14 @@ import java.io.IOException;
* @date 2019/1/31 16:31 * @date 2019/1/31 16:31
* @since 1.8 * @since 1.8
*/ */
public class AuthWeiboRequest implements AuthRequest { public class AuthWeiboRequest extends BaseAuthRequest implements AuthRequest {
public AuthWeiboRequest(AuthConfig config) {
super(config);
}
@Override @Override
public void authorize(AuthConfig config, HttpServletResponse response) { public void authorize(HttpServletResponse response) {
if (!AuthConfigChecker.isSupportedWeibo()) { if (!AuthConfigChecker.isSupportedWeibo()) {
throw new AuthException(ResponseStatus.UNSUPPORTED); throw new AuthException(ResponseStatus.UNSUPPORTED);
} }
...@@ -40,7 +44,7 @@ public class AuthWeiboRequest implements AuthRequest { ...@@ -40,7 +44,7 @@ public class AuthWeiboRequest implements AuthRequest {
} }
@Override @Override
public String authorize(AuthConfig config) { public String authorize() {
if (!AuthConfigChecker.isSupportedWeibo()) { if (!AuthConfigChecker.isSupportedWeibo()) {
throw new AuthException(ResponseStatus.UNSUPPORTED); throw new AuthException(ResponseStatus.UNSUPPORTED);
} }
...@@ -48,7 +52,7 @@ public class AuthWeiboRequest implements AuthRequest { ...@@ -48,7 +52,7 @@ public class AuthWeiboRequest implements AuthRequest {
} }
@Override @Override
public AuthResponse login(AuthConfig config, String code) { public AuthResponse login(String code) {
if (!AuthConfigChecker.isSupportedWeibo()) { if (!AuthConfigChecker.isSupportedWeibo()) {
return AuthResponse.builder() return AuthResponse.builder()
.code(ResponseStatus.UNSUPPORTED.getCode()) .code(ResponseStatus.UNSUPPORTED.getCode())
......
package me.zhyd.oauth.config; package me.zhyd.oauth.request;
import lombok.Builder; import lombok.Data;
import lombok.Getter; import me.zhyd.oauth.config.AuthConfig;
/** /**
* @author yadong.zhang (yadong.zhang0415(a)gmail.com) * @author yadong.zhang (yadong.zhang0415(a)gmail.com)
* @version 1.0 * @version 1.0
* @website https://www.zhyd.me * @website https://www.zhyd.me
* @date 2019/2/14 13:34 * @date 2019/2/18 13:11
* @since 1.8 * @since 1.8
*/ */
@Getter @Data
@Builder public abstract class BaseAuthRequest {
public class GiteeConfig extends AuthConfig { protected AuthConfig config;
public BaseAuthRequest(AuthConfig config) {
this.config = config;
}
} }
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();
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册