CAS與OAuth2的區別


CAS與OAuth2的區別

一、

  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去認證的時候,需不需要預先商量好的密碼。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM