目前常見的認證機制

2021-10-02 03:50:20 字數 848 閱讀 9206

簡單點說明就是每次請求api時都提供使用者的username和password,簡言之,basic auth是配合restful api 使用的最簡單的認證方式,只需提供使用者名稱密碼即可,但由於有把使用者名稱密碼暴露給第三方客戶端的風險,在生產環境下被使用的越來越少。因此,在開發對外開放的restful api時,盡量避免採用http basic auth

cookie認證機制就是為一次請求認證在服務端建立乙個session物件,同時在客戶端的瀏覽器端建立了乙個cookie物件;通過客戶端帶上來cookie物件來與伺服器端的session物件匹配來實現狀態管理的。預設的,當我們關閉瀏覽器的時候,cookie會被刪除。但可以通過修改cookie 的expire time使cookie在一定時間內有效

使用基於 token 的身份驗證方法,在服務端不需要儲存使用者的登入記錄。大概的流程是這樣的:

1. 客戶端使用使用者名稱跟密碼請求登入

2. 服務端收到請求,去驗證使用者名稱與密碼

3. 驗證成功後,服務端會簽發乙個 token,再把這個 token 傳送給客戶端

4. 客戶端收到 token 以後可以把它儲存起來,比如放在 cookie 裡

5. 客戶端每次向服務端請求資源的時候需要帶著服務端簽發的 token

6. 服務端收到請求,然後去驗證客戶端請求裡面帶著的 token,如果驗證成功,就向客戶端返回請求的資料

token機制相對於cookie機制又有什麼好處呢?

HTTP認證機制

http請求報頭 authorization http響應報頭 www authenticate http認證 基於 質詢 回應 challenge response 的認證模式。基本認證 basic authentication http1.0提出的認證方法 客戶端對於每乙個realm,通過提供使...

HTTP認證機制

http請求報頭 authorization http響應報頭 www authenticate http認證 基於 質詢 回應 challenge response 的認證模式。基本認證 basic authentication http1.0提出的認證方法 客戶端對於每乙個realm,通過提供使...

web認證機制

以前對認證這方面的認識一直不太深刻,不清楚為什麼需要token這種認證,為什麼不簡單使用session儲存使用者登入資訊等。最近讀了幾篇大牛的部落格才對認證機制方面有了進一步了解。這種認證直接順應http協議的無狀態性,每次執行業務的時候,都暴力地附帶username與password引數,並將其傳...