2019-02-18 10:36:17 +08:00
|
|
|
|
<p align="center">
|
2020-06-30 12:18:39 +08:00
|
|
|
|
<a href="https://justauth.wiki"><img src="https://gitee.com/yadong.zhang/static/raw/master/JustAuth/Justauth.png" width="400"></a>
|
2019-02-18 10:36:17 +08:00
|
|
|
|
</p>
|
|
|
|
|
|
<p align="center">
|
|
|
|
|
|
<strong>Login, so easy.</strong>
|
|
|
|
|
|
</p>
|
|
|
|
|
|
<p align="center">
|
2019-05-23 09:10:25 +08:00
|
|
|
|
<a target="_blank" href="https://search.maven.org/search?q=JustAuth">
|
2020-08-15 20:48:18 +08:00
|
|
|
|
<img src="https://img.shields.io/badge/Maven%20Central-1.15.7%20beta.2-blue" ></img>
|
2019-02-18 10:36:17 +08:00
|
|
|
|
</a>
|
|
|
|
|
|
<a target="_blank" href="https://gitee.com/yadong.zhang/JustAuth/blob/master/LICENSE">
|
2019-05-17 09:32:49 +08:00
|
|
|
|
<img src="https://img.shields.io/apm/l/vim-mode.svg?color=yellow" ></img>
|
2019-02-18 10:36:17 +08:00
|
|
|
|
</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>
|
2019-08-03 14:45:18 +08:00
|
|
|
|
<a target="_blank" href="https://apidoc.gitee.com/yadong.zhang/JustAuth/" title="API文档">
|
2020-07-22 22:20:17 +08:00
|
|
|
|
<img src="https://img.shields.io/badge/Api%20Docs-1.15.7%20beta.1-orange" ></img>
|
2019-08-03 14:45:18 +08:00
|
|
|
|
</a>
|
2020-06-30 12:18:39 +08:00
|
|
|
|
<a target="_blank" href="https://justauth.wiki" title="参考文档">
|
2019-08-03 14:45:18 +08:00
|
|
|
|
<img src="https://img.shields.io/badge/Docs-latest-blueviolet.svg" ></img>
|
2019-06-22 08:10:09 +08:00
|
|
|
|
</a>
|
2019-08-01 12:03:53 +08:00
|
|
|
|
<a href="https://codecov.io/gh/zhangyd-c/JustAuth">
|
|
|
|
|
|
<img src="https://codecov.io/gh/zhangyd-c/JustAuth/branch/master/graph/badge.svg" />
|
|
|
|
|
|
</a>
|
2019-08-01 13:54:31 +08:00
|
|
|
|
<a href='https://gitee.com/yadong.zhang/JustAuth/stargazers'>
|
|
|
|
|
|
<img src='https://gitee.com/yadong.zhang/JustAuth/badge/star.svg?theme=white' 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>
|
2019-02-18 10:36:17 +08:00
|
|
|
|
</p>
|
|
|
|
|
|
|
2019-02-18 12:00:51 +08:00
|
|
|
|
<center>
|
|
|
|
|
|
<table>
|
2019-05-21 19:00:02 +08:00
|
|
|
|
<tr>
|
2019-09-03 20:39:19 +08:00
|
|
|
|
<td align="center" width="200"><img src="https://gitee.com/yadong.zhang/static/raw/master/JustAuth/gitee.png" width="20"></td>
|
|
|
|
|
|
<td align="center" width="200"><img src="https://gitee.com/yadong.zhang/static/raw/master/JustAuth/github.png" width="20"></td>
|
|
|
|
|
|
<td align="center" width="200"><img src="https://gitee.com/yadong.zhang/static/raw/master/JustAuth/weibo.png" width="20"></td>
|
|
|
|
|
|
<td align="center" width="200"><img src="https://gitee.com/yadong.zhang/static/raw/master/JustAuth/dingtalk.png" width="20"></td>
|
|
|
|
|
|
<td align="center" width="200"><img src="https://gitee.com/yadong.zhang/static/raw/master/JustAuth/baidu.png" width="20"></td>
|
|
|
|
|
|
<td align="center" width="200"><img src="https://gitee.com/yadong.zhang/static/raw/master/JustAuth/coding.png" width="20"></td>
|
|
|
|
|
|
<td align="center" width="200"><img src="https://gitee.com/yadong.zhang/static/raw/master/JustAuth/tencentCloud.png" width="20"></td>
|
|
|
|
|
|
<td align="center" width="200"><img src="https://gitee.com/yadong.zhang/static/raw/master/JustAuth/oschina.png" width="20"></td>
|
|
|
|
|
|
<td align="center" width="200"><img src="https://gitee.com/yadong.zhang/static/raw/master/JustAuth/alipay.png" width="20"></td>
|
|
|
|
|
|
<td align="center" width="200"><img src="https://gitee.com/yadong.zhang/static/raw/master/JustAuth/qq.png" width="20"></td>
|
2020-03-17 22:57:53 +08:00
|
|
|
|
<td align="center" width="200"><img src="https://gitee.com/yadong.zhang/static/raw/master/JustAuth/wechat.png" width="20" title="微信开放平台"></td>
|
2019-09-03 20:39:19 +08:00
|
|
|
|
<td align="center" width="200"><img src="https://gitee.com/yadong.zhang/static/raw/master/JustAuth/taobao.png" width="20"></td>
|
|
|
|
|
|
<td align="center" width="200"><img src="https://gitee.com/yadong.zhang/static/raw/master/JustAuth/google.png" width="20"></td>
|
|
|
|
|
|
<td align="center" width="200"><img src="https://gitee.com/yadong.zhang/static/raw/master/JustAuth/facebook.png" width="20"></td>
|
|
|
|
|
|
<td align="center" width="200"><img src="https://gitee.com/yadong.zhang/static/raw/master/JustAuth/douyin.png" width="20"></td>
|
2019-07-18 15:29:16 +08:00
|
|
|
|
</tr>
|
|
|
|
|
|
</table>
|
|
|
|
|
|
<table>
|
|
|
|
|
|
<tr>
|
2019-09-03 20:39:19 +08:00
|
|
|
|
<td align="center" width="200"><img src="https://gitee.com/yadong.zhang/static/raw/master/JustAuth/linkedin.png" width="20"></td>
|
|
|
|
|
|
<td align="center" width="200"><img src="https://gitee.com/yadong.zhang/static/raw/master/JustAuth/microsoft.png" width="20"></td>
|
|
|
|
|
|
<td align="center" width="200"><img src="https://gitee.com/yadong.zhang/static/raw/master/JustAuth/mi.png" width="20"></td>
|
|
|
|
|
|
<td align="center" width="200"><img src="https://gitee.com/yadong.zhang/static/raw/master/JustAuth/toutiao.png" width="20"></td>
|
|
|
|
|
|
<td align="center" width="200"><img src="https://gitee.com/yadong.zhang/static/raw/master/JustAuth/teambition.png" width="20"></td>
|
|
|
|
|
|
<td align="center" width="200"><img src="https://gitee.com/yadong.zhang/static/raw/master/JustAuth/renren.png" width="20"></td>
|
|
|
|
|
|
<td align="center" width="200"><img src="https://gitee.com/yadong.zhang/static/raw/master/JustAuth/pinterest.png" width="20"></td>
|
|
|
|
|
|
<td align="center" width="200"><img src="https://gitee.com/yadong.zhang/static/raw/master/JustAuth/stackoverflow.png" width="20"></td>
|
|
|
|
|
|
<td align="center" width="200"><img src="https://gitee.com/yadong.zhang/static/raw/master/JustAuth/huawei.png" width="20"></td>
|
|
|
|
|
|
<td align="center" width="200"><img src="https://gitee.com/yadong.zhang/static/raw/master/JustAuth/wechat.png" width="20" title="微信企业版"></td>
|
|
|
|
|
|
<td align="center" width="200"><img src="https://gitee.com/yadong.zhang/static/raw/master/JustAuth/csdn.png" width="20"></td>
|
|
|
|
|
|
<td align="center" width="200"><img src="https://gitee.com/yadong.zhang/static/raw/master/JustAuth/kujiale.png" width="20"></td>
|
|
|
|
|
|
<td align="center" width="200"><img src="https://gitee.com/yadong.zhang/static/raw/master/JustAuth/gitlab.png" width="20"></td>
|
2019-09-06 16:54:08 +08:00
|
|
|
|
<td align="center" width="200"><img src="https://gitee.com/yadong.zhang/static/raw/master/JustAuth/meituan.png" width="20"></td>
|
2019-09-06 19:22:49 +08:00
|
|
|
|
<td align="center" width="200"><img src="https://gitee.com/yadong.zhang/static/raw/master/JustAuth/eleme.png" width="20"></td>
|
2019-10-26 17:41:59 +08:00
|
|
|
|
<td align="center" width="200"><img src="https://gitee.com/yadong.zhang/static/raw/master/JustAuth/twitter.png" width="20"></td>
|
2019-05-21 19:00:02 +08:00
|
|
|
|
</tr>
|
2019-02-18 12:00:51 +08:00
|
|
|
|
</table>
|
2020-06-30 12:18:39 +08:00
|
|
|
|
<center><a href="https://justauth.wiki/#/?id=%E5%B7%B2%E9%9B%86%E6%88%90%E7%9A%84%E5%B9%B3%E5%8F%B0" target="_blank">查看更多</a></center>
|
2019-02-18 12:00:51 +08:00
|
|
|
|
</center>
|
2020-07-22 22:21:48 +08:00
|
|
|
|
|
2020-04-08 01:06:56 +08:00
|
|
|
|
-------------------------------------------------------------------------------
|
2019-02-18 13:06:19 +08:00
|
|
|
|
|
2020-07-22 22:20:17 +08:00
|
|
|
|
QQ 群:230017570
|
|
|
|
|
|
微信群:justauth (备注`justauth`或者`ja`)
|
|
|
|
|
|
帮助文档:[justauth.wiki](https://justauth.wiki)
|
2020-04-08 00:59:51 +08:00
|
|
|
|
|
2020-07-22 22:20:17 +08:00
|
|
|
|
## 什么是 JustAuth?
|
2019-02-18 10:36:17 +08:00
|
|
|
|
|
2020-07-22 22:20:17 +08:00
|
|
|
|
JustAuth,如你所见,它仅仅是一个**第三方授权登录**的**工具类库**,它可以让我们脱离繁琐的第三方登录 SDK,让登录变得**So easy!**
|
2019-03-27 18:34:53 +08:00
|
|
|
|
|
2020-07-22 22:20:17 +08:00
|
|
|
|
JustAuth 集成了诸如:Github、Gitee、支付宝、新浪微博、微信、Google、Facebook、Twitter、StackOverflow等国内外数十家第三方平台。更多请参考<a href="https://justauth.wiki/#/?id=%E5%B7%B2%E9%9B%86%E6%88%90%E7%9A%84%E5%B9%B3%E5%8F%B0" target="_blank">已集成的平台</a>
|
2019-05-27 11:43:56 +08:00
|
|
|
|
|
2020-07-22 22:20:17 +08:00
|
|
|
|
## 有哪些特点?
|
2019-05-27 11:43:56 +08:00
|
|
|
|
|
2019-09-20 19:33:52 +08:00
|
|
|
|
1. **全**:已集成十多家第三方平台(国内外常用的基本都已包含),仍然还在持续扩展中([开发计划](https://gitee.com/yadong.zhang/JustAuth/issues/IUGRK))!
|
2019-05-27 11:43:56 +08:00
|
|
|
|
2. **简**:API就是奔着最简单去设计的(见后面`快速开始`),尽量让您用起来没有障碍感!
|
|
|
|
|
|
|
2020-07-22 22:20:17 +08:00
|
|
|
|
## 有哪些功能?
|
|
|
|
|
|
|
|
|
|
|
|
- 集成国内外数十家第三方平台,实现快速接入。<a href="https://justauth.wiki/#/?id=%E5%B7%B2%E9%9B%86%E6%88%90%E7%9A%84%E5%B9%B3%E5%8F%B0" target="_blank">参考文档</a>
|
|
|
|
|
|
- 自定义 State 缓存,支持各种分布式缓存组件。<a href="https://justauth.wiki/#/customize-the-state-cache" target="_blank">参考文档</a>
|
|
|
|
|
|
- 自定义 OAuth 平台,更容易适配自有的 OAuth 服务。<a href="https://justauth.wiki/#/customize-the-oauth" target="_blank">参考文档</a>
|
|
|
|
|
|
- 自定义 Http 实现,选择权完全交给开发者,不会单独依赖某一具体实现。<a href="https://justauth.wiki/#/customize-the-oauth" target="_blank">参考文档</a>
|
|
|
|
|
|
- 自定义 Scope,支持更完善的授权体系。<a href="https://justauth.wiki" target="_blank">参考文档</a>
|
|
|
|
|
|
- 更多...<a href="https://justauth.wiki" target="_blank">参考文档</a>
|
|
|
|
|
|
|
2019-02-19 14:49:59 +08:00
|
|
|
|
## 快速开始
|
2019-05-27 11:43:56 +08:00
|
|
|
|
|
2019-02-18 13:35:12 +08:00
|
|
|
|
- 引入依赖
|
|
|
|
|
|
```xml
|
|
|
|
|
|
<dependency>
|
|
|
|
|
|
<groupId>me.zhyd.oauth</groupId>
|
|
|
|
|
|
<artifactId>JustAuth</artifactId>
|
2020-08-15 20:48:18 +08:00
|
|
|
|
<version>1.15.7-beta.2</version>
|
2019-02-18 13:35:12 +08:00
|
|
|
|
</dependency>
|
|
|
|
|
|
```
|
|
|
|
|
|
- 调用api
|
|
|
|
|
|
```java
|
2019-03-22 22:46:53 +08:00
|
|
|
|
// 创建授权request
|
2019-02-18 13:35:12 +08:00
|
|
|
|
AuthRequest authRequest = new AuthGiteeRequest(AuthConfig.builder()
|
|
|
|
|
|
.clientId("clientId")
|
|
|
|
|
|
.clientSecret("clientSecret")
|
|
|
|
|
|
.redirectUri("redirectUri")
|
|
|
|
|
|
.build());
|
2019-03-22 22:46:53 +08:00
|
|
|
|
// 生成授权页面
|
2019-09-03 09:14:50 +08:00
|
|
|
|
authRequest.authorize("state");
|
2019-06-28 22:58:34 +08:00
|
|
|
|
// 授权登录后会返回code(auth_code(仅限支付宝))、state,1.8.0版本后,可以用AuthCallback类作为回调接口的参数
|
2019-07-30 09:12:28 +08:00
|
|
|
|
// 注:JustAuth默认保存state的时效为3分钟,3分钟内未使用则会自动清除过期的state
|
2019-06-28 22:58:34 +08:00
|
|
|
|
authRequest.login(callback);
|
2019-02-18 13:35:12 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
2020-07-22 22:20:17 +08:00
|
|
|
|
如下**任选一种** HTTP 工具 依赖,_项目内如果已有,请忽略。另外需要特别注意,如果项目中已经引入了低版本的依赖,请先排除低版本以后来,引入高版本或者最新版本的依赖_
|
2020-04-08 00:59:51 +08:00
|
|
|
|
|
|
|
|
|
|
- hutool-http
|
|
|
|
|
|
|
|
|
|
|
|
```xml
|
|
|
|
|
|
<dependency>
|
|
|
|
|
|
<groupId>cn.hutool</groupId>
|
|
|
|
|
|
<artifactId>hutool-http</artifactId>
|
|
|
|
|
|
<version>5.2.5</version>
|
|
|
|
|
|
</dependency>
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
- httpclient
|
|
|
|
|
|
|
|
|
|
|
|
```xml
|
|
|
|
|
|
<dependency>
|
|
|
|
|
|
<groupId>org.apache.httpcomponents</groupId>
|
|
|
|
|
|
<artifactId>httpclient</artifactId>
|
|
|
|
|
|
<version>4.5.12</version>
|
|
|
|
|
|
</dependency>
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
- okhttp
|
|
|
|
|
|
|
|
|
|
|
|
```xml
|
|
|
|
|
|
<dependency>
|
|
|
|
|
|
<groupId>com.squareup.okhttp3</groupId>
|
|
|
|
|
|
<artifactId>okhttp</artifactId>
|
|
|
|
|
|
<version>4.4.1</version>
|
|
|
|
|
|
</dependency>
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2020-07-22 22:20:17 +08:00
|
|
|
|
## JustAuth 的用户
|
|
|
|
|
|
有很多公司、组织和个人把 JustAuth 用于学习、研究、生产环境和商业产品中,包括(但不限于):
|
|
|
|
|
|

|
2019-05-22 09:18:09 +08:00
|
|
|
|
|
|
|
|
|
|
|
2020-07-22 22:20:17 +08:00
|
|
|
|
怎么没有我?[加入]()
|
2020-05-02 21:20:45 +08:00
|
|
|
|
|
2019-09-17 18:38:35 +08:00
|
|
|
|
## 开源推荐
|
|
|
|
|
|
- `spring-boot-demo` 深度学习并实战 spring boot 的项目: [https://github.com/xkcoding/spring-boot-demo](https://github.com/xkcoding/spring-boot-demo)
|
|
|
|
|
|
- `mica` SpringBoot 微服务高效开发工具集: [https://github.com/lets-mica/mica](https://github.com/lets-mica/mica)
|
2020-07-22 22:20:17 +08:00
|
|
|
|
- `pig` 微服务认证授权脚手架(架构师必备): [https://gitee.com/log4j/pig](https://gitee.com/log4j/pig)
|
2020-06-29 00:20:15 +08:00
|
|
|
|
- `SpringBlade` 完整的线上解决方案(企业开发必备): [https://gitee.com/smallc/SpringBlade](https://gitee.com/smallc/SpringBlade)
|
2020-04-06 22:05:01 +08:00
|
|
|
|
- `MaxKey` 马克思的钥匙,寓意是最大钥匙,是用户单点登录认证系统(Sigle Sign On System),OAuth 2.0/OpenID Connect、SAML 2.0、JWT、CAS等标准化的开放协议,使用JustAuth集成OAuth第三方认证。: [https://shimingxy.github.io/MaxKey/](https://shimingxy.github.io/MaxKey/)
|
2020-07-22 22:20:17 +08:00
|
|
|
|
- `YurunOAuthLogin` PHP 第三方登录授权 SDK:[YurunOAuthLogin](https://gitee.com/yurunsoft/YurunOAuthLogin)
|
2019-06-29 15:12:49 +08:00
|
|
|
|
|
2020-07-22 22:20:17 +08:00
|
|
|
|
# 鸣谢
|
|
|
|
|
|
- 感谢 JetBrains 提供的免费开源 License:
|
|
|
|
|
|
<img src="https://images.gitee.com/uploads/images/2020/0406/220236_f5275c90_5531506.png" alt="图片引用自lets-mica" style="float:left;">
|
2019-03-25 09:59:26 +08:00
|
|
|
|
|
2020-07-22 22:20:17 +08:00
|
|
|
|
<a href="https://www.producthunt.com/posts/justauth?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-justauth" target="_blank"><img src="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=196886&theme=dark" alt="JustAuth - Login, so easy! | Product Hunt Embed" style="width: 250px; height: 54px;" width="250px" height="54px" /></a>
|
2020-03-21 13:08:11 +08:00
|
|
|
|
|
2020-07-22 22:20:17 +08:00
|
|
|
|
## 其他
|
|
|
|
|
|
- [CONTRIBUTORS](https://justauth.wiki/#/contributors)
|
|
|
|
|
|
- [CHANGELOGS](https://justauth.wiki/#/update)
|
|
|
|
|
|
- [PLAN](https://gitee.com/yadong.zhang/JustAuth/issues/IUGRK)
|