第三方登录授权对于很多开发者来说是很烦人的一件事,每个平台都要获得各自的权限,实践起来非常麻烦。今天 Gitee 给大家推荐的这款开源项目就是针对这个痛点所开发,一次性集成了十多家国内外常用的第三方平台,只需调用简单的 API 即可搞定,往下看看吧。
项目名称:JustAuth
项目作者:yadong.zhang
开源许可协议:MIT
项目地址:https://gitee.com/yadong.zhang/JustAuth
项目简介
JustAuth,如你所见,它仅仅是一个第三方授权登录的工具类库,它可以让我们脱离繁琐的第三方登录SDK,让登录变得So easy!
目前已支持Github、Gitee、微博、钉钉、百度、Coding、腾讯云开发者平台、OSChina、支付宝、QQ、微信、淘宝、Google、Facebook、抖音、领英、小米、微软、今日头条、Teambition、StackOverflow、Pinterest、人人、华为、企业微信、酷家乐、Gitlab、美团、饿了么和推特等第三方平台的授权登录。
项目特点
全:已集成十多家第三方平台(国内外常用的基本都已包含),仍然还在持续扩展中!
简:API就是奔着最简单去设计的,尽量让您用起来没有障碍感!
快速开始
- 引入依赖
<dependency> <groupId>me.zhyd.oauth</groupId> <artifactId>JustAuth</artifactId> <version>1.15.5</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);
如下任选一种 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>
如果目前没有你想要的第三方登录,那么作者也非常欢迎你参与到这个项目中来,现在就点击后面的链接前往项目主页和作者聊聊吧:https://gitee.com/yadong.zhang/JustAuth