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

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

上级 8675f1f9
......@@ -16,6 +16,67 @@
</a>
</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!**
\ No newline at end of file
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;
* @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())
......
......@@ -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())
......
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);
}
}
......@@ -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())
......
package me.zhyd.oauth.config;
package me.zhyd.oauth.request;
import lombok.Builder;
import lombok.Getter;
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/14 13:34
* @date 2019/2/18 13:11
* @since 1.8
*/
@Getter
@Builder
public class GiteeConfig extends AuthConfig {
@Data
public abstract class BaseAuthRequest {
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.
先完成此消息的编辑!
想要评论请 注册