日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

鏈接:shotCathttps://juejin.im/post/5c6e6063f265da2da53ec8f3

什么是Token驗證?驗證的流程是什么?優點是什么?缺點是什么?

 

什么是Token?

Token是用戶身份的驗證方式,通常叫它:令牌。當用戶第一次登錄后,服務器生成一個Token并將此Token返回給客戶端,以后客戶端只需帶上這個Token前來請求數據即可,無需再次帶上用戶名和密碼。

Token由哪幾部分組成?

uid(用戶唯一的身份標識)、time(當前時間的時間戳)、sign(簽名,由token的前幾位+鹽以哈希算法壓縮成一定長的十六進制字符串,可以防止惡意第三方拼接Token請求服務器)。還可以把不變的參數也放進Token,避免多次查庫。

Token就象一個護照。第一次需要在前臺驗證你的身份(通過你的用戶名密碼),如果你成功驗證了自己,你就可以取得這個通行證。當你走進大樓的時候(試圖從調用API獲取資源),你會被要求驗證你的護照,而不是在前臺重新驗證。

驗證流程

大概的流程是這樣的:

1, 客戶端使用用戶名和密碼請求登錄;

2, 服務端收到請求,去驗證用戶名與密碼;

3, 驗證成功后,服務端會簽發一個 Token,再把這個 Token 發送給客戶端;

4, 客戶端收到 Token 以后可以把它存儲起來,比如放在 Cookie 里或者 Local Storage 里;

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

6, 服務端收到請求,然后去驗證客戶端請求里面帶著的 Token,如果驗證成功,就向客戶端返回請求的數據;

總的來說就是客戶端在首次登陸以后,服務端再次接收http請求的時候,就只認token了,請求只要每次把token帶上就行了,服務器端會攔截所有的請求,然后校驗token的合法性,合法就放行,不合法就返回401(鑒權失敗)。

優點

1.Token 完全由應用管理,所以它可以避開同源策略. (Cookie是不允許垮域訪問的,token不存在)

2.Token 可以避免 CSRF 攻擊(也是因為不需要cookie了)

3.Token 可以是無狀態的,可以在多個服務間共享

4.Token 支持手機端訪問(Cookie不支持手機端訪問)

服務器只需要對瀏覽器傳來的Token值進行解密,解密完成后進行用戶數據的查詢,如果查詢成功,則通過認證.所以,即時有了多臺服務器,服務器也只是做了Token的解密和用戶數據的查詢,它不需要在服務端去保留用戶的認證信息或者會話信息,這就意味著基于token認證機制的應用不需要去考慮用戶在哪一臺服務器登錄了,這就為應用的擴展提供了便利,解決了session擴展性的弊端。

缺點

1.占帶寬: 正常情況下token要比 session_id更大,需要消耗更多流量,擠占更多帶寬.(不過幾乎可以忽略)

2.性能問題: 相比于session-cookie來說,token需要服務端花費更多的時間和性能來對token進行解密驗證.其實Token相比于session-cookie來說就是一個"時間換空間"的方案.

分享到:
標簽:驗證 Token
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定