APP利用token機制進行身份認證(理解token機制+簡單Java代碼實現)

引用文章寫在前面,表示感謝:
http://www.woshipm.com/pd/877760.html

什麼是token

token的意思是令牌,想象一下用過的qq令牌,是來自(騰訊)服務端生成的一串字符作爲客戶端(我們自己)進行請求的一個標識。比如說:改qq密碼。而這裏我們是自己開發App,我們的用戶用token請求登錄,我們對他進行身份認證。

當用戶第一次登錄後,服務端生成一個token給用戶,用戶下次帶着token請求幹這幹那就行,不需要再帶密碼。想象一下qq、微信每次打開都自動登錄了,就是這樣。

基於token機制的身份認證

流程你先自己想一下:大概是某人第一次或往後每次重新登錄,給某人一個token令牌,你保管好,下次帶上令牌出入城門。

流程:

  1. 客戶端使用用戶名和密碼請求登錄。
  2. 服務端收到請求,驗證用戶名和密碼。服務端收到請求,驗證用戶名和密碼。
  3. 驗證成功後,服務端會生成一個token,然後把這個token發送給客戶端。驗證成功後,服務端會生成一個token,然後把這個token發送給客戶端。
  4. 客戶端收到token後把它存儲起來,可以放在cookie或者Local Storage(本地存儲)裏。客戶端收到token後把它存儲起來,可以放在cookie或者Local Storage(本地存儲)裏。
  5. 客戶端每次向服務端發送請求的時候都需要帶上服務端發給的token。客戶端每次向服務端發送請求的時候都需要帶上服務端發給的token。
  6. 服務端收到請求,然後去驗證客戶端請求裏面帶着token,如果驗證成功,就向客戶端返回請求的數據。服務端收到請求,然後去驗證客戶端請求裏面帶着token,如果驗證成功,就向客戶端返回請求的數據。

以上是token機制的理解,下面重點講APP開發如何利用token機制進行身份認證

用戶在登錄APP時,APP端會發送加密的用戶名和密碼到服務器,服務器驗證用戶名和密碼,如果驗證成功,就會生成相應位數的字符產作爲token存儲到服務器中,並且將該token返回給APP端。

以後APP再次請求時,凡是需要驗證的地方都要帶上該token,然後服務器端驗證token,成功返回所需要的結果,失敗返回錯誤信息,讓用戶重新登錄。其中,服務器上會給token設置一個有效期,每次APP請求的時候都驗證token和有效期。

這段描述的挺好的,大體思路就是這樣,實際操作的時候略有不同,代碼總可以自由發揮嘛。

代碼整理後補發

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章