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