<p align="center">
<a href="https://justauth.wiki"><img src="https://gitee.com/yadong.zhang/static/raw/master/JustAuth/Justauth.png" width="400"></a>
</p>
<p align="center">
<strong>Login, so easy.</strong>
</p>
<p align="center">
<a target="_blank" href="https://search.maven.org/search?q=JustAuth">
<img src="https://img.shields.io/github/v/release/justauth/JustAuth?style=flat-square" ></img>
</a>
<a target="_blank" href="https://oss.sonatype.org/content/repositories/snapshots/me/zhyd/oauth/JustAuth/">
<img src="https://img.shields.io/nexus/s/https/oss.sonatype.org/me.zhyd.oauth/JustAuth.svg?style=flat-square" ></img>
</a>
<a target="_blank" href="https://gitee.com/yadong.zhang/JustAuth/blob/master/LICENSE">
<img src="https://img.shields.io/apm/l/vim-mode.svg?color=yellow" ></img>
</a>
<a target="_blank" href="https://www.oracle.com/technetwork/java/javase/downloads/index.html">
<img src="https://img.shields.io/badge/JDK-1.8+-green.svg" ></img>
</a>
<a target="_blank" href="https://justauth.wiki" title="参考文档">
<img src="https://img.shields.io/badge/Docs-latest-blueviolet.svg" ></img>
</a>
<a href="https://codecov.io/gh/justauth/JustAuth">
<img src="https://codecov.io/gh/justauth/JustAuth/branch/master/graph/badge.svg?token=zYiAqd9aFz" />
</a>
<a href='https://gitee.com/yadong.zhang/JustAuth/stargazers'>
<img src='https://gitee.com/yadong.zhang/JustAuth/badge/star.svg?theme=gvp' alt='star'></img>
</a>
<a target="_blank" href='https://github.com/zhangyd-c/JustAuth'>
<img src="https://img.shields.io/github/stars/zhangyd-c/JustAuth.svg?style=social" alt="github star"></img>
</a>
</p>
-------------------------------------------------------------------------------
<p align="center">
<img src='./docs/media/75a3c076.png' alt='star'></img>
</p>
-------------------------------------------------------------------------------
QQ 群:230017570
微信群:justauth (备注`justauth`或者`ja`)
帮助文档:[justauth.wiki](https://justauth.wiki)
## 什么是 JustAuth?
JustAuth,如你所见,它仅仅是一个**第三方授权登录**的**工具类库**,它可以让我们脱离繁琐的第三方登录 SDK,让登录变得**So easy!**
JustAuth 集成了诸如:Github、Gitee、支付宝、新浪微博、微信、Google、Facebook、Twitter、StackOverflow等国内外数十家第三方平台。更多请参考<a href="https://justauth.wiki" target="_blank">已集成的平台</a>
## 有哪些特点?
1. **全**:已集成十多家第三方平台(国内外常用的基本都已包含),仍然还在持续扩展中([开发计划](https://gitee.com/yadong.zhang/JustAuth/issues/IUGRK))!
2. **简**:API就是奔着最简单去设计的(见后面`快速开始`),尽量让您用起来没有障碍感!
## 有哪些功能?
- 集成国内外数十家第三方平台,实现快速接入。<a href="https://justauth.wiki/quickstart/how-to-use.html" target="_blank">参考文档</a>
- 自定义 State 缓存,支持各种分布式缓存组件。<a href="https://justauth.wiki/features/customize-the-state-cache.html" target="_blank">参考文档</a>
- 自定义 OAuth 平台,更容易适配自有的 OAuth 服务。<a href="https://justauth.wiki/features/customize-the-oauth.html" target="_blank">参考文档</a>
- 自定义 Http 实现,选择权完全交给开发者,不会单独依赖某一具体实现。<a href="https://justauth.wiki/quickstart/how-to-use.html#%E4%BD%BF%E7%94%A8%E6%96%B9%E5%BC%8F" target="_blank">参考文档</a>
- 自定义 Scope,支持更完善的授权体系。<a href="https://justauth.wiki/features/customize-scopes.html" target="_blank">参考文档</a>
- 更多...<a href="https://justauth.wiki" target="_blank">参考文档</a>
## 快速开始
### 引入依赖
```xml
<dependency>
<groupId>me.zhyd.oauth</groupId>
<artifactId>JustAuth</artifactId>
<version>{latest-version}</version>
</dependency>
```
> **latest-version** 可选:
> - 稳定版:![](https://img.shields.io/github/v/release/justauth/JustAuth?style=flat-square)
> - 快照版:![](https://img.shields.io/nexus/s/https/oss.sonatype.org/me.zhyd.oauth/JustAuth.svg?style=flat-square)
> > 注意:快照版本是功能的尝鲜,并不保证稳定性。请勿在生产环境中使用。
>
> <details>
> <summary>如何引入快照版本</summary>
>
> JustAuth 的快照版本托管在 ossrh 上,所以要指定下载地址。
>
> ```xml
> <repositories>
> <repository>
> <id>ossrh-snapshot</id>
> <url>https://oss.sonatype.org/content/repositories/snapshots</url>
> <snapshots>
> <enabled>true</enabled>
> </snapshots>
> </repository>
> </repositories>
> ```
>
> 如果你想第一时间获取 JustAuth 的最新快照,可以添加下列代码,每次构建时都检查是否有最新的快照(默认每天检查)。
>
> ```diff
> <url>https://oss.sonatype.org/content/repositories/snapshots</url>
> <snapshots>
> + <updatePolicy>always</updatePolicy>
> <enabled>true</enabled>
> </snapshots>
> ```
>
> </details>
如下**任选一种** HTTP 工具 依赖,_项目内如果已有,请忽略。另外需要特别注意,如果项目中已经引入了低版本的依赖,请先排除低版本依赖后,再引入高版本或者最新版本的依赖_
- hutool-http
```xml
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-http</artifactId>
<version>5.7.7</version>
</dependency>
```
- httpclient
```xml
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.13</version>
</dependency>
```
- okhttp
```xml
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>4.9.1</version>
</dependency>
```
### 调用api
#### 普通方式
```java
// 创建授权request
AuthRequest authRequest = new AuthGiteeRequest(AuthConfig.builder()
.clientId("clientId")
.clientSecret("clientSecret")
.redirectUri("redirectUri")
.build());
// 生成授权页面
authRequest.authorize("state");
// 授权登录后会返回code(auth_code(仅限支付宝))、state,1.8.0版本后,可以用AuthCallback类作为回调接口的参数
// 注:JustAuth默认保存state的时效为3分钟,3分钟内未使用则会自动清除过期的state
authRequest.login(callback);
```
#### Builder 方式一
静态配置 `AuthConfig`
```java
AuthRequest authRequest = AuthRequestBuilder.builder()
.source("github")
.authConfig(AuthConfig.builder()
.clientId("clientId")
.clientSecret("clientSecret")
.redirectUri("redirectUri")
.build())
.build();
// 生成授权页面
authRequest.authorize("state");
// 授权登录后会返回code(auth_code(仅限支付宝))、state,1.8.0版本后,可以用AuthCallback类作为回调接口的参数
// 注:JustAuth默认保存state的时效为3分钟,3分钟内未使用则会自动清除过期的state
authRequest.login(callback);
```
#### Builder 方式二
动态获取并配置 `AuthConfig`
```java
AuthRequest authRequest = AuthRequestBuilder.builder()
.source("gitee")
.authConfig((source) -> {
// 通过 source 动态获取 AuthConfig
// 此处可以灵活的从 sql 中取配置也可以从配置文件中取配置
return AuthConfig.builder()
.clientId("clientId")
.clientSecret("clientSecret")
.redirectUri("redirectUri")
.build();
})
.build();
Assert.assertTrue(authRequest instanceof AuthGiteeRequest);
System.out.println(authRequest.authorize(AuthStateUtils.createState()));
```
#### Builder 方式支持自定义的平台
```java
AuthRequest authRequest = AuthRequestBuilder.builder()
// 关键点:将自定义实现的 AuthSource 配置上
没有合适的资源?快使用搜索试试~ 我知道了~
支付宝11111111
共380个文件
class:182个
java:138个
xml:14个
需积分: 0 1 下载量 29 浏览量
2024-03-08
23:12:47
上传
评论
收藏 761KB ZIP 举报
温馨提示
支付宝11111111
资源推荐
资源详情
资源评论
收起资源包目录
支付宝11111111 (380个子文件)
ScopeTest.class 58KB
AuthGoogleScope.class 52KB
AuthSlackScope.class 15KB
GlobalAuthUtils.class 11KB
GlobalAuthUtilsTest.class 11KB
AuthAlipayRequest.class 10KB
AuthAmazonRequest.class 9KB
AuthElemeRequest.class 9KB
AuthTwitterRequest.class 9KB
AuthOktaScope.class 9KB
AuthOktaRequest.class 9KB
AuthLinkedinRequest.class 8KB
AuthJdRequest.class 8KB
AuthQqRequest.class 8KB
AuthHuaweiRequest.class 8KB
AuthFeishuRequest.class 8KB
AuthDefaultRequest.class 8KB
AuthSlackRequest.class 8KB
AuthMicrosoftScope.class 8KB
AuthLineRequest.class 7KB
AbstractAuthMicrosoftRequest.class 7KB
AuthMiRequest.class 7KB
AuthGithubScope.class 7KB
AuthRenrenRequest.class 7KB
AuthWeChatMpRequest.class 7KB
AuthBaiduRequest.class 7KB
AuthDouyinRequest.class 7KB
AuthWeiboRequest.class 7KB
AuthWeChatOpenRequest.class 7KB
AlipayProperties.class 7KB
AuthWeChatEnterpriseThirdQrcodeRequest.class 6KB
AuthDefaultSource.class 6KB
AuthTeambitionRequest.class 6KB
AuthTaobaoRequest.class 6KB
AuthMeituanRequest.class 6KB
AuthKujialeRequest.class 6KB
AuthRenrenScope.class 6KB
AuthStackOverflowRequest.class 6KB
AuthXmlyRequest.class 6KB
AuthCodingRequest.class 6KB
AuthGoogleRequest.class 6KB
AuthConfig.class 6KB
AuthGithubRequest.class 6KB
AuthPinterestRequest.class 6KB
AuthToutiaoRequest.class 6KB
AuthProginnRequest.class 5KB
AbstractAuthWeChatEnterpriseRequest.class 5KB
AuthFacebookRequest.class 5KB
H5payController.class 5KB
AbstractAuthDingtalkRequest.class 5KB
AuthRequestBuilder.class 5KB
AuthToken.class 5KB
AuthOschinaRequest.class 5KB
AuthGiteeRequest.class 5KB
AuthRequestBuilderTest.class 5KB
AuthGitlabRequest.class 5KB
AuthDouyinScope.class 5KB
AuthConfig$AuthConfigBuilder.class 4KB
AuthLinkedinScope.class 4KB
AuthDefaultCache.class 4KB
AlipayUtil.class 4KB
AuthToken$AuthTokenBuilder.class 4KB
AuthUser.class 4KB
AuthExtendRequest.class 4KB
AuthCsdnRequest.class 4KB
AuthGitlabScope.class 4KB
AuthWeiboScope.class 4KB
Base64Utils.class 4KB
AuthAliyunRequest.class 4KB
HttpUtils.class 3KB
AuthFacebookScope.class 3KB
AuthExtendRequestTest.class 3KB
AuthChecker.class 3KB
AuthUser$AuthUserBuilder.class 3KB
Log.class 3KB
AuthCacheScheduler.class 3KB
LogTest.class 3KB
AuthToutiaoErrorCode.class 3KB
AuthGiteeScope.class 3KB
UrlBuilderTest.class 3KB
AuthHuaweiScope.class 3KB
StringUtilsTest.class 3KB
AuthResponseStatus.class 2KB
AuthQqScope.class 2KB
AuthBaiduScope.class 2KB
UrlBuilder.class 2KB
AuthCodingScope.class 2KB
AuthPinterestScope.class 2KB
AuthUserGender.class 2KB
AuthWeChatEnterpriseWebRequest.class 2KB
AuthResponse$AuthResponseBuilder.class 2KB
AuthResponse.class 2KB
AuthStackoverflowScope.class 2KB
AuthScopeUtils.class 2KB
AuthException.class 2KB
AuthCallback.class 2KB
AuthAmazonScope.class 2KB
AuthWechatMpScope.class 2KB
AuthUserTest.class 2KB
AuthProginnScope.class 2KB
共 380 条
- 1
- 2
- 3
- 4
资源评论
.:::.
- 粉丝: 416
- 资源: 12
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功