中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SpringBootSecurity中github單點登錄的操作方法

發布時間:2021-09-28 09:15:47 來源:億速云 閱讀:172 作者:柒染 欄目:大數據

這篇文章給大家介紹SpringBootSecurity中github單點登錄的操作方法,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

單點登錄(SSO)

關于oauth3.0,最后我們再來學習一下單點登錄。前面介紹過單點登錄的定義,單點登錄(Single Sign On),簡稱為 SSO,是目前比較流行的企業業務整合的解決方案之一。SSO的定義是在多個應用系統中,用戶只需要登錄一次就可以訪問所有相互信任的應用系統。

關于單點登錄,springcloud G版本的官方文檔地址如下:

  • https://cloud.spring.io/spring-cloud-static/Greenwich.SR3/single/spring-cloud.html#_single_sign_on

關于單點登錄的例子有很多,最常見的就是我們在百度登錄以后,百度網盤,百度知道,百度翻譯等功能網站都會自動登錄百度的賬號,還有就是qq或者微信登錄以后,其它騰訊的游戲等app也可以一鍵登錄,等等。例子有很多。對于第三方授權的應用,不需要使用單點登錄,但是對于同一個企業內的不同服務和軟件之間的賬號共享來說,單點登錄是一個必要的功能。

SSO簡單使用github實現

spring cloud oauth對sso是有支持的,而且使用和配置非常簡單。可以使用第三方的授權服務,如GitHub,也可以自己構建授權服務。下面來用github實現一個簡單的sso。

首先要去github上面登記一下,地址如下:

  • https://github.com/settings/applications/new

這里我們不再自己去登記,而是使用官方文檔中演示的登記好的id和秘鑰:

SpringBootSecurity中github單點登錄的操作方法

clientId和clientSecret分別是:

  • bd1c0a783ccdd1c9b9e4

  • 1a9030fbca47a5b2c28e92f19050bb77824b5ad1

而sso客戶端的配置正如上面圖片演示的一樣。下面來新建兩個項目,依賴只引入web和oauth:

SpringBootSecurity中github單點登錄的操作方法

項目的啟動類中需要加入一個@EnableOAuth3Sso注解:

SpringBootSecurity中github單點登錄的操作方法

創建兩個簡單的接口:

SpringBootSecurity中github單點登錄的操作方法

最后就是配置文件的配置,基本上內容和官網的示例一樣:

SpringBootSecurity中github單點登錄的操作方法

這里兩個項目基本一樣,另一個項目的代碼和配置也是一樣。security不寫任何配置類,使用默認即可。

測試

啟動兩個項目,訪問其中一個的/user接口:

SpringBootSecurity中github單點登錄的操作方法

會直接跳轉到github的登錄頁面:

SpringBootSecurity中github單點登錄的操作方法

可以注意看一下上面地址欄中的地址,會非常熟悉。這里可以輸入自己的github賬號,然后點擊登錄,就會自動回跳到我們原來訪問的/user地址:

SpringBootSecurity中github單點登錄的操作方法

可以看到,我們自己的項目自動登錄成功了,并返回了當前的用戶數據,這個用戶其實就是github的賬戶。

現在上面的第一個項目已經登錄成功,并訪問了接口,下面來直接訪問第二個項目:

SpringBootSecurity中github單點登錄的操作方法

可以看到第二個項目并沒有再跳轉登錄,而是直接處于登錄狀態,并且賬號信息與前面項目的一樣。這就是簡單sso的演示。

代碼地址: https://gitee.com/blueses/spring-boot-security 37 38 

關于SpringBootSecurity中github單點登錄的操作方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

施甸县| 金阳县| 博乐市| 峨眉山市| 饶阳县| 朝阳县| 峨山| 襄垣县| 青铜峡市| 永靖县| 隆德县| 西华县| 赣榆县| 峨山| 固始县| 棋牌| 禄劝| 泰宁县| 资阳市| 榆社县| 明水县| 曲阜市| 顺义区| 新竹县| 梁河县| 高台县| 醴陵市| 莆田市| 和龙市| 赤城县| 融水| 上犹县| 睢宁县| 乌恰县| 台山市| 绥化市| 琼海市| 阳城县| 广安市| 呼玛县| 海林市|