Token认证模式详解
生活随笔
收集整理的這篇文章主要介紹了
Token认证模式详解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 為什么要用Token?
- 服務端需要存儲Session,并且由于Session需要經常快速查找,通常存儲在內存或內存數據庫中,同時在線用戶較多時需要占用大量的服務器資源。
- 當需要擴展時,創建Session的服務器可能不是驗證Session的服務器,所以還需要將所有Session單獨存儲并共享。
- 由于客戶端使用Cookie存儲SessionID,在跨域場景下需要進行兼容性處理,同時這種方式也難以防范CSRF攻擊。
鑒于基于Session的會話管理方式存在上述多個缺點,基于Token的無狀態會話管理方式誕生了,所謂無狀態,就是服務端可以不再存儲信息,甚至是不再存儲Session。
2.Token是什么?
Token是 服務端生成的一串字符串,以作客戶端進行請求的一個令牌,當第一次登錄后, 服務器生成-個Token便將此Token返回給客戶端后,客戶端只需帶上這個Token前來請求數據即可,無需再次帶上域名和密碼。
token的具體邏輯如下:
- 客戶端使用用戶名,密碼進行認證。
- 服務端驗證用戶名,密碼正確后生成Token返回給客戶端。
- 客戶端保存Token,訪問需要認證的接口在URL參數或HTTP Header中加入Token
- 服務端通過解碼Token進行鑒權,返回給客戶端需要的數據。
Token的優勢:
總結
以上是生活随笔為你收集整理的Token认证模式详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 坑:Android从相册中选择图片加载到
- 下一篇: group by 取最新或者最后的一条数