第三方登錄授權對於很多開發者來說是很煩人的一件事,每個平臺都要獲得各自的權限,實踐起來非常麻煩。今天Dotnet9給大家推薦的這款開源項目就是針對這個痛點所開發,一次性集成了十多家國內外常用的第三方平臺,只需調用簡單的 API 即可搞定,往下看看吧。
項目名稱:JustAuth
項目作者:yadong.zhang
開發語言:Java(其他語言可以參考)
開源許可協議:MIT
項目地址:https://gitee.com/yadong.zhang/JustAuth
參考文檔:https://justauth.wiki/#/
項目簡介
JustAuth,如你所見,它僅僅是一個第三方授權登錄的工具類庫,它可以讓我們脫離繁瑣的第三方登錄SDK,讓登錄變得So easy!
目前已支持Github、Gitee、微博、釘釘、百度、Coding、騰訊雲開發者平臺、OSChina、支付寶、QQ、微信、淘寶、Google、Facebook、抖音、領英、小米、微軟、今日頭條、Teambition、StackOverflow、Pinterest、人人、華爲、企業微信、酷家樂、Gitlab、美團、餓了麼和推特等第三方平臺的授權登錄。Login, so easy!
項目特點
廢話不多說,就倆字:
全:已集成十多家第三方平臺(國內外常用的基本都已包含),仍然還在持續擴展中(開發計劃)!
簡:API就是奔着最簡單去設計的(見後面快速開始),儘量讓您用起來沒有障礙感!
快速開始
引入依賴
<dependency>
<groupId>me.zhyd.oauth</groupId>
<artifactId>JustAuth</artifactId>
<version>1.15.6</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>
後續開發計劃
參考:[開發計劃] 待擴展的第三方平臺
另外,期待您和我一起完善這個項目!
貢獻代碼
fork本項目到自己的repo
把fork過去的項目也就是你倉庫中的項目clone到你的本地
修改代碼
commit後push到自己的庫
發起PR(pull request) 請求,提交到dev分支
等待作者合併
貢獻者名單
contributors
更新記錄
CHANGELOGS
致謝
在項目立項初期,也對當前開源圈的一些相同類型的項目作過調研,同時本項目也參考過這些項目,再次感謝開源圈內的朋友。
YurunOAuthLogin: PHP 第三方登錄授權 SDK
阿里媽媽MUX傾力打造的矢量圖標庫-iconfont: 本文檔中的圖標大部分取自該平臺
mica:Spring Cloud 微服務開發核心包,支持 web 和 webflux。注:JustAuth項目中的UuidUtils就是直接使用的mica提供的高性能的uuid創建工具類源碼StringUtil.java
感謝 JetBrains 提供的免費開源 License:
QQ羣
JustAuth交流羣 (230017570):專業交流該項目
Dotnet9網站常駐編輯。
長按關注我,歡迎技術交流!
-好東西要轉發,設爲"星標"★搶先看-
點擊閱讀原文,關注Dotnet9更多好文。