成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

阿里終面:說說OAuth2.0 與 單點登錄的區(qū)別?

開發(fā) 前端
Oauth2.0和單點登錄的區(qū)別需要理解清楚,相對來說Oauth2.0實現(xiàn)單點登錄更加簡單,CAS雖然能夠實現(xiàn)單點登錄,但是服務部署和配置更加復雜,不易于上手,當然目前也有很多的系統(tǒng)在使用CAS,在選擇的時候開發(fā)者根據(jù)這些區(qū)別和復雜程度去決策。

SSO是Single Sign On的縮寫,OAuth是Open Authority的縮寫,這兩者都是使用令牌的方式來代替用戶密碼訪問應用。流程上來說他們非常相似,但概念上又十分不同。很多人會將其混為一談,其實這兩個還是有些區(qū)別的。

對于OAuth2.0相關內(nèi)容在Spring Cloud Alibaba 實戰(zhàn)中結合實戰(zhàn)項目源碼從零搭建有著詳細的介紹,如下圖:

圖片

?什么是單點登錄

簡單的說就是在多個應用的系統(tǒng)中,用戶只需要登錄一次就可以訪問權限范圍內(nèi)的所有應用子系統(tǒng),同樣的注銷也只需要注銷一次。

比如百度這個網(wǎng)站,用戶只要登錄了百度的官網(wǎng),那么對于百度百科、百度知道、百度貼吧等網(wǎng)站都是處于登錄狀態(tài),這就是一個典型的單點登錄的例子。

單點登錄和Oauth2.0的區(qū)別

雖然Oauth2.0能夠實現(xiàn)單點登錄,但是在一些方面還是有些區(qū)別的,如下:

  • 信任角度:Oauth2.0授權服務端和第三方客戶端不屬于一個互相信任的應用群,比如微信和第三方,這就不是一個公司的產(chǎn)品;然而單點登錄的服務端和接入的客戶端都在同一個相互信任的應用系統(tǒng)中,比如百度官網(wǎng)、百度百科,這都是一個公司的產(chǎn)品
  • 資源角度:OAuth2.0授權主要是讓用戶自行決定——“我”在OAuth2.0服務提供方的個人資源是否允許第三方應用訪問;而單點登錄的資源都在客戶端這邊,單點登錄的服務端主要用于登錄,以及管理用戶在各個子系統(tǒng)的權限信息。
  • 流程角度:OAuth2.0授權的時候,第三方客戶端需要拿預先“商量”好的密碼去獲取Access Token;而單點登錄則不需要。

Oauth2.0完全可以實現(xiàn)單點登錄,但是更加側重于對于己方資源的保護,了解了這兩種的區(qū)別才能正確的選擇

單點登錄的實現(xiàn)

Oauth2.0實現(xiàn)單點登錄非常簡單,比如微服務下的各個子系統(tǒng)接入Oauth2.0的認證服務,用戶從認證服務獲取token后,直接通過網(wǎng)關轉發(fā)給下游子系統(tǒng)則可以實現(xiàn)只需要一次登錄

其實除了Oauth2.0以外,還有很多框架能夠實現(xiàn)單點登錄,比較經(jīng)典則是CAS框架

以下是CAS框架的官方流程圖。特別注意:SSO是一種思想,而CAS只是實現(xiàn)這種思想的一種框架而已

圖片

上面的流程大概為:

  • 用戶輸入網(wǎng)址進入業(yè)務系統(tǒng)Protected App,系統(tǒng)發(fā)現(xiàn)用戶未登錄,將用戶重定向到單點登錄系統(tǒng)CAS Server,并帶上自身地址service參數(shù)。
  • 用戶瀏覽器重定向到單點登錄系統(tǒng),系統(tǒng)檢查該用戶是否登錄,這是SSO(這里是CAS)系統(tǒng)的第一個接口,該接口如果用戶未登錄,則將用戶重定向到登錄界面,如果已登錄,則設置全局session,并重定向到業(yè)務系統(tǒng)。
  • 用戶填寫密碼后提交登錄,注意此時的登錄界面是SSO系統(tǒng)提供的,只有SSO系統(tǒng)保存了用戶的密碼
  • SSO系統(tǒng)驗證密碼是否正確,若正確則重定向到業(yè)務系統(tǒng),并帶上SSO系統(tǒng)的簽發(fā)的ticket。
  • 瀏覽器重定向到業(yè)務系統(tǒng)的登錄接口,這個登錄接口是不需要密碼的,而是帶上SSO的ticket,業(yè)務系統(tǒng)拿著ticket請求SSO系統(tǒng),獲取用戶信息。并設置局部session,表示登錄成功返回給瀏覽器sessionId(tomcat中叫JSESSIONID)。
  • 之后所有的交互用sessionId與業(yè)務系統(tǒng)交互即可。

整個流程還是相對比較復雜的,當然CAS這個框架的配置也是相對比較復雜,了解過的人都想放棄,關于CAS如何去搭建,在后面會單獨介紹。

最常見的例子是,我們打開淘寶APP,首頁就會有天貓、聚劃算等服務的鏈接,當你點擊以后就直接跳過去了,并沒有讓你再登錄一次。

圖片

總結

Oauth2.0和單點登錄的區(qū)別需要理解清楚,相對來說Oauth2.0實現(xiàn)單點登錄更加簡單,CAS雖然能夠實現(xiàn)單點登錄,但是服務部署和配置更加復雜,不易于上手,當然目前也有很多的系統(tǒng)在使用CAS,在選擇的時候開發(fā)者根據(jù)這些區(qū)別和復雜程度去決策。

責任編輯:武曉燕 來源: 碼猿技術專欄
相關推薦

2025-04-11 05:55:00

2021-08-02 06:49:46

OIDC認證協(xié)議

2015-03-21 06:41:50

oauth2.0監(jiān)控寶

2022-03-16 00:07:55

OAuth2授權框架

2021-11-19 06:50:17

OAuth協(xié)議授權

2024-12-06 07:00:00

2021-03-24 09:23:45

代碼阿里應用分層

2020-12-04 06:35:20

TCPUDP阿里

2024-03-20 10:53:15

2024-09-11 08:37:39

2023-08-29 08:00:38

2024-03-01 11:33:31

2025-01-14 10:28:34

業(yè)務主表讀寫冷熱分離

2022-01-24 08:19:19

業(yè)務CRUD場景

2024-10-14 16:49:06

2022-09-09 10:15:06

OAuthJava

2025-05-12 01:55:00

MySQL存儲數(shù)據(jù)

2021-07-19 09:27:42

SSD內(nèi)存Linux

2021-07-12 07:08:53

OAuth 2.0授權協(xié)議

2021-03-16 16:35:39

網(wǎng)關Java代碼
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一区二区三区在线 | 欧 | 91文字幕巨乱亚洲香蕉 | 红桃成人在线 | 日本免费在线看 | 久久久久久久一区 | 国产成人精品免高潮在线观看 | 中文字幕四虎 | 91视频大全 | 国产日韩精品在线 | 超碰520| 亚洲国产精品第一区二区 | 久久伊人一区 | 亚洲国产精品人人爽夜夜爽 | 中国三级黄色录像 | 国产在线观看福利 | 欧美极品在线 | 午夜在线视频 | 成人精品一区二区三区中文字幕 | 51ⅴ精品国产91久久久久久 | 日韩欧美一区二区三区在线播放 | 在线免费亚洲视频 | 91精品国产日韩91久久久久久 | 亚洲永久入口 | 国产成人亚洲精品自产在线 | 综合久久99 | 暴草美女 | 成人小视频在线观看 | 羞羞色视频 | 91精品国产一区二区 | 精品1区 | 高清久久久 | 日韩成人av在线播放 | 在线观看免费av片 | 亚洲国产精品va在线看黑人 | 欧美日韩国产在线观看 | 国产精品国产精品国产专区不卡 | 日韩在线国产 | 91精品久久久久久久久久入口 | 九九伊人sl水蜜桃色推荐 | 精品国产一区三区 | 午夜国产在线 |