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

CAS的單點登陸時保障客戶端的用戶資源的安全html

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

 

CAS客戶端要獲取的最終信息是,這個用戶到底有沒有權限訪問我(CAS客戶端)的資源。服務器

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

 

CAS的單點登陸,資源都在客戶端這邊,不在CAS的服務器那一方。htm

用戶在給CAS服務端提供了用戶名密碼後,做爲CAS客戶端並不知道這件事。blog

隨便給客戶端個ST,那麼客戶端是不能肯定這個ST是用戶僞造仍是真的有效,因此要拿着這個ST去服務端再問一下,這個用戶給個人是有效的ST仍是無效的ST,是有效的我才能讓這個用戶訪問。token

 

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

因此在最安全的模式下,用戶受權以後,服務端並不能直接返回token,經過重定向送給客戶端,由於這個token有可能被黑客截獲,若是黑客截獲了這個token,那用戶的資源也就暴露在這個黑客之下了。get

因而聰明的服務端發送了一個認證code給客戶端(經過重定向),客戶端在後臺,經過https的方式,用這個code,以及另外一串客戶端和服務端預先商量好的密碼,才能獲取到token和刷新token,這個過程是很是安全的。class

若是黑客截獲了code,他沒有那串預先商量好的密碼,他也是沒法獲取token的。這樣oauth2就能保證請求資源這件事,是用戶贊成的,客戶端也是被承認的,能夠放心的把資源發給這個客戶端了。

 

因此cas登陸和oauth2在流程上的最大區別就是,經過ST或者code去認證的時候,需不須要預先商量好的密碼。 

 

轉自:https://www.cnblogs.com/flying607/p/7652537.html

相關文章
相關標籤/搜索