JustAuth,如你所見(jiàn),它僅僅是一個(gè)第三方授權(quán)登錄的工具類庫(kù),它可以讓我們脫離繁瑣的第三方登錄 SDK,讓登錄變得 So easy!
圖片
JustAuth 集成了諸如:Github、Gitee、支付寶、新浪微博、微信、Google、Facebook、Twitter、StackOverflow 等國(guó)內(nèi)外數(shù)十家第三方平臺(tái)。
(1) 申請(qǐng)開(kāi)發(fā)者
如果是第一次使用,需要到“QQ 互聯(lián)平臺(tái)”申請(qǐng)開(kāi)發(fā)者,通過(guò)后創(chuàng)建應(yīng)用并且復(fù)制三個(gè)信息:App ID、App Key和網(wǎng)站回調(diào)域。
(2) 集成 JustAuth
添加依賴:
<dependency> <groupId>me.zhyd.oauth</groupId> <artifactId>JustAuth</artifactId> <version>{latest-version}</version></dependency>
創(chuàng)建Request,把第一步的三個(gè)信息添加進(jìn)去:
AuthRequest authRequest = new AuthQqRequest(AuthConfig.builder().clientId("App ID").clientSecret("App Key").redirectUri("網(wǎng)站回調(diào)域").build());
生成授權(quán)地址:
//這個(gè)鏈接可以直接在后臺(tái)重定向跳轉(zhuǎn),也可以返回到前端跳轉(zhuǎn)String authorizeUrl = authRequest.authorize(AuthStateUtils.createState());
或者生成靜態(tài)授權(quán)頁(yè)面:
AuthRequest authRequest = AuthRequestBuilder.builder() .source("github") .authConfig(AuthConfig.builder() .clientId("clientId") .clientSecret("clientSecret") .redirectUri("redirectUri") .build()) .build();// 生成授權(quán)頁(yè)面 authRequest.authorize("state");// 授權(quán)登錄后會(huì)返回code(auth_code(僅限支付寶))、state,1.8.0版本后,可以用AuthCallback類作為回調(diào)接口的參數(shù)// 注:JustAuth默認(rèn)保存state的時(shí)效為3分鐘,3分鐘內(nèi)未使用則會(huì)自動(dòng)清除過(guò)期的state authRequest.login(callback);
或者生成動(dòng)態(tài)授權(quán)頁(yè)面:
AuthRequest authRequest = AuthRequestBuilder.builder() .source("gitee") .authConfig((source) -> { // 通過(guò) source 動(dòng)態(tài)獲取 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()));
JustAuth 的團(tuán)隊(duì)還在持續(xù)接入其他平臺(tái)的授權(quán)登錄,感興趣的同學(xué)可以關(guān)注一下。
https://github.com/justauth/JustAuth
本文鏈接:http://www.www897cc.com/showinfo-26-41705-0.html史上最全的整合第三方授權(quán)登錄的工具類庫(kù),JustAuth 搞定一切!
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com