CAS的單點登入和oauth2的最大區別

2021-08-21 15:19:30 字數 802 閱讀 3293

cas的單點登入時保障客戶端的使用者資源的安全

oauth2則是保障服務端的使用者資源的安全

cas客戶端要獲取的最終資訊是,這個使用者到底有沒有許可權訪問我(cas客戶端)的資源。

oauth2獲取的最終資訊是,我(oauth2服務提供方)的使用者的資源到底能不能讓你(oauth2的客戶端)訪問

cas的單點登入,資源都在客戶端這邊,不在cas的伺服器那一方。

使用者在給cas服務端提供了使用者名稱密碼後,作為cas客戶端並不知道這件事。

隨便給客戶端個st,那麼客戶端是不能確定這個st是使用者偽造還是真的有效,所以要拿著這個st去服務端再問一下,這個使用者給我的是有效的st還是無效的st,是有效的我才能讓這個使用者訪問。

oauth2認證,資源都在oauth2服務提供者那一方,客戶端是想索取使用者的資源。

所以在最安全的模式下,使用者授權之後,服務端並不能直接返回token,通過重定向送給客戶端,因為這個token有可能被黑客截獲,如果黑客截獲了這個token,那使用者的資源也就暴露在這個黑客之下了。

於是聰明的服務端傳送了乙個認證code給客戶端(通過重定向),客戶端在後台,通過https的方式,用這個code,以及另一串客戶端和服務端預先商量好的密碼,才能獲取到token和重新整理token,這個過程是非常安全的。

如果黑客截獲了code,他沒有那串預先商量好的密碼,他也是無法獲取token的。這樣oauth2就能保證請求資源這件事,是使用者同意的,客戶端也是被認可的,可以放心的把資源發給這個客戶端了。

所以cas登入和oauth2在流程上的最大區別就是,通過st或者code去認證的時候,需不需要預先商量好的密碼。 

**:

SSO 單點登入CAS與OAuth2

在系統開發初期,系統很少,每個系統都有自己的登入模組,使用者直接使用自己的賬號進行登入即可。但當功能不斷完善,為了合理利用資源並降低耦合性,往往需要將單系統拆分為多個子系統。以阿里系的 為例,乙個 背後有眾多的子系統,使用者的一次交易或操作往往可能需要十多甚至幾十個子系統的協作,如果每個子系統都需要...

OAuth2 單點登入

簡介 oauth open authorization 是乙個開放標準,允許使用者授權第三方應用訪問他們儲存在另外的服務提供者上的資訊,而不需要將使用者名稱和密碼提供給第三方應用。oauth2是oauth協議的延續版本,oauth1已經被廢棄,現在oauth2是用於授權的行業標準協議。1.四個角色 ...

CAS的單點登入和oauth2的最大區別

oauth2則是保障服務端的使用者資源的安全 cas客戶端要獲取的最終資訊是,這個使用者到底有沒有許可權訪問我 cas客戶端 的資源。oauth2獲取的最終資訊是,我 oauth2服務提供方 的使用者的資源到底能不能讓你 oauth2的客戶端 訪問 cas的單點登入,資源都在客戶端這邊,不在cas的...