1. 程式人生 > >session&token based auth登錄方式描述

session&token based auth登錄方式描述

文件 auth 信息 用戶名 session 驗證用戶名 web服務 失效 一個

session:

  • 客戶端發出登陸請求給服務端,請求包含用戶名、密碼信息
  • 服務端收到請求,web服務器分析請求後,將用戶名和密碼傳到DB,驗證用戶名是否存於DB在及密碼是否正確(驗證密碼時將傳過來的密碼加密後與DB中的密碼比對)
  • 如果用戶存在且密碼正確,則在服務端根據用戶信息生成一個session文件,該文件存放於服務端的內存中
  • 服務端返回給客戶端登陸成功信息及session_id, session_id存放在客戶端cookie中
  • 之後每次訪問服務端時,請求中都回帶上cookie發給服務端
  • 服務端讀取cookie中的sessionid,與內存中的session信息對比,如果存在並且未超時,再通過session中的用戶信息從DB讀出用戶其他信息

token:

  • 客戶端發出登陸請求給服務端,請求包含用戶名、密碼信息
  • 服務端收到請求,web服務器分析請求後,將用戶名和密碼傳到DB,驗證用戶名是否存於DB在及密碼是否正確(驗證密碼時用將傳過來的密碼加密後與DB中的密碼比對)
  • 如果用戶存在且密碼正確,則在服務端根據用戶信息(如userid,失效時間等)計算出一串字符作為token
  • 服務端返回給客戶端登陸成功信息及token(json形式)
  • 下次客戶端訪問服務端時,請求的header信息中會帶上這個token
  • 服務端拿到token後校驗token中的簽名,驗證token是由本服務器簽發、未被竄改及在有效期內,則通過token中的用戶信息讀取用戶其他信息

session&token based auth登錄方式描述