Login, so easy.
JustAuth,如你所见,它仅仅是一个第三方授权登录的工具类库,它可以让我们脱离繁琐的第三方登录SDK,让登录变得So easy!
项目开源地址:gitee | github
项目文档:参考文档
废话不多说,就俩字:
- 全:已集成十多家第三方平台(国内外常用的基本都已包含),仍然还在持续扩展中(开发计划)!
- 简:API就是奔着最简单去设计的(见后面
快速开始
),尽量让您用起来没有障碍感!
- 引入依赖
<dependency>
<groupId>me.zhyd.oauth</groupId>
<artifactId>JustAuth</artifactId>
<version>1.15.1</version>
</dependency>
- 调用api
// 创建授权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);
注意,JustAuth从v1.14.0开始默认集成了的simple-http作为HTTP通用接口(更新说明见JustAuth 1.14.0版本正式发布!完美解耦HTTP工具),鉴于一般项目中都已经集成了HTTP工具,比如OkHttp3、apache HttpClient、hutool-http,因此为了减少不必要的依赖,从v1.14.0开始JustAuth将不会默认集成hutool-http,如果开发者的项目是全新的或者项目内没有集成HTTP实现工具,请自行添加对应的HTTP实现类,备选依赖如下:
-
hutool-http
<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-http</artifactId> <version>5.2.5</version> </dependency>
-
httpclient
<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.12</version> </dependency>
-
okhttp
<dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId> <version>4.4.1</version> </dependency>
配套Demo**:
- JustAuth-demo
- jFinal版: Jfinal集成JustAuth的demo by xkcoding
- ActFramework版: ActFramework 集成 JustAuth 的 demo by xkcoding
- Nutzboot版: NutzBoot集成JustAuth的demo by 蛋蛋
- Blade版: Blade集成JustAuth的demo
- justauth-spring-boot-starter: Spring Boot 集成 JustAuth 的最佳实践 by xkcoding
- justauth-spring-boot-starter-demo: Spring Boot 使用 justauth-spring-boot-starter 快速集成 JustAuth by xkcoding
具体的例子可以参考:
- 实现Gitee授权登录
- 实现Github授权登录
- Spring Boot 快速集成第三方登录功能 : QQ、Github、微信、谷歌、微软、小米、企业微信
- 集成企业微信
请知悉:经咨询CSDN官方客服得知,CSDN的授权开放平台已经下线。如果以前申请过的应用,可以继续使用,但是不再支持申请新的应用。so, 本项目中的CSDN登录只能针对少部分用户使用了
另外,期待您和我一起完善这个项目!
- fork本项目到自己的repo
- 把fork过去的项目也就是你仓库中的项目clone到你的本地
- 修改代码
- commit后push到自己的库
- 发起PR(pull request) 请求,提交到
dev
分支 - 等待作者合并
在项目立项初期,也对当前开源圈的一些相同类型的项目作过调研,同时本项目也参考过这些项目,再次感谢开源圈内的朋友。
- YurunOAuthLogin: PHP 第三方登录授权 SDK
- 阿里妈妈MUX倾力打造的矢量图标库-iconfont: 本文档中的图标大部分取自该平台
- mica:Spring Cloud 微服务开发核心包,支持
web
和webflux
。注:JustAuth项目中的UuidUtils就是直接使用的mica提供的高性能的uuid创建工具类源码StringUtil.java - 感谢 JetBrains 提供的免费开源 License:
spring-boot-demo
深度学习并实战 spring boot 的项目: https://github.com/xkcoding/spring-boot-demomica
SpringBoot 微服务高效开发工具集: https://github.com/lets-mica/micapig
宇宙最强微服务认证授权脚手架(架构师必备): https://gitee.com/log4j/pigSpringBlade
完整的线上解决方案(企业开发必备): https://gitee.com/smallc/SpringBladeMaxKey
马克思的钥匙,寓意是最大钥匙,是用户单点登录认证系统(Sigle Sign On System),OAuth 2.0/OpenID Connect、SAML 2.0、JWT、CAS等标准化的开放协议,使用JustAuth集成OAuth第三方认证。: https://shimingxy.github.io/MaxKey/
公众号 | 微信(备注:加群) |
---|---|
QQ群
-
JustAuth交流群 (230017570):专业交流该项目
-
开源总群 (190886500):各个开源项目的都有,也有博客建设等方面的朋友。
支付宝 | 微信 |
---|---|
通过“爱发电”赞助,感谢您的支持