mirror of
https://gitee.com/yadong.zhang/JustAuth.git
synced 2025-12-07 17:28:25 +08:00
👽 更新api调用方式、更新文档
This commit is contained in:
parent
da0d8300c0
commit
1767b53bc7
32
README.md
32
README.md
@ -48,3 +48,35 @@
|
|||||||
|
|
||||||
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:平台 | API类:coffee: | :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 | 待续 |
|
||||||
|
|||||||
@ -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 {
|
|
||||||
}
|
|
||||||
@ -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 {
|
|
||||||
}
|
|
||||||
@ -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 {
|
|
||||||
}
|
|
||||||
@ -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 {
|
|
||||||
}
|
|
||||||
@ -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 {
|
|
||||||
}
|
|
||||||
@ -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 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@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 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@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;
|
|||||||
* @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 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@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 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@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())
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
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 {
|
|||||||
/**
|
/**
|
||||||
* 自动跳转到认证页面
|
* 自动跳转到认证页面
|
||||||
*
|
*
|
||||||
* @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;
|
|||||||
* @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 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@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 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@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())
|
||||||
|
|||||||
20
src/main/java/me/zhyd/oauth/request/BaseAuthRequest.java
Normal file
20
src/main/java/me/zhyd/oauth/request/BaseAuthRequest.java
Normal file
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
59
src/test/java/me/zhyd/oauth/AuthRequestTest.java
Normal file
59
src/test/java/me/zhyd/oauth/AuthRequestTest.java
Normal file
@ -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();
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user