幾種常用的服務器認證機制


OAuth

概括:OAuth是一個開放授權標准,服務器端允許用戶在不給第三方軟件密碼和賬戶的前提下,讓第三方軟件訪問一定的服務器端資源。

具體實現:OAuth允許第三方軟件提供一個令牌,而不是用戶名和密碼來訪問用戶在服務器端的某些特定資源。某一個令牌授權只針對一個特定的第三方系統(例如,視頻編輯軟件在某一特定時間內,例如2小時,只能訪問服務器端用戶的某些特定資源(例如某一相冊中的視頻)。

以下為OAuth2.0的流程:

這種基於OAuth的認證機制適用於個人消費類的互聯網產品,如社交類APP等應用,不太適合自認證權限管理的企業。

Cookie+Session Auth

概括:cookie+session 客戶端訪問服務端時,服務器在服務端創建一個session對象用來存儲用戶的狀態信息,此session有個唯一的標識ID,並將此session ID 返回給客戶端,客戶端將session ID存放在cookie中,此后客戶端通過cookie中的session ID與服務器端保持連接。

以下為cookie+sesssion Auth 流程:

 

cookie+session  多用於一些網上商城,但是對於一些原聲平台不支持cookie(andorid,windows,ios)。

 

TOKEN Auth

概括:客戶端訪問服務器端時,服務器端利用某算法生成一個TOKEN返回給客戶端,一般存儲在cookie中或者http Authorization,下次客戶端訪問服務器驗證客戶端的TOKEN來辨別身份。

優勢:

TOKEN 生成速度驗證速度要比去數據庫中檢索session ID來的快。

cookie存在跨域問題,而token可以很好的解決跨域問題。

更適用於CDN

TOKEN AUTH 認證過程如下:

TOKEN 的認證過程分為兩個方面-首次登錄,其后的登錄過程。

首次登錄:

 

其后的登錄過程如下:

 


免責聲明!

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



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