五:Token問題和使用詳解


什么是Token?

Token可以理解為令牌,服務端通過驗證Token,來判斷你是否有這個操作的權限。Token的重要特性是有效性,一般Token只在一定時間范圍內有效。下圖是登錄模塊的一個流程圖,展現出Token的一個基本應用。

開發工程師校招經典問題之Token

圖片來自網絡,侵權立刪

簡單Token的實現

一個簡單的Token,可以由密鑰,時間戳,內容生成。在網絡傳輸過程中,一般通過base64_encode編碼傳輸。服務端通過base64_decode解碼之后,在驗證Token的有效性。Token的一種生成方式如下。

開發工程師校招經典問題之Token

Token存儲在哪里?

Token根據實際應用類型不同,可以分為一下三種方式存儲。

  1. 存在MySQL類型數據庫中。這樣做的好處,可以存儲的數量大,數據持久化。

  2. 存在內存中,如Cache。優點就是,驗證速度快。

  3. 不存儲,每次服務器通過算法驗證Token的有效性。

在github開源項目:https://github.com/moyiblog/JWT


免責聲明!

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



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