為什麼要用到token驗證呢?我都是直接驗證使用者名稱和密碼 然後產生cookie 我看別人說用token 為什麼要用token?哪一步用到token呢?
cookie 是為了實現自動登入吧,或者SEESION_ID來標記服務端session.因為HTTP協議是無狀態,需要藉助cookie來標記狀態,一般是瀏覽預設實現的.但如果是以api介面的方式回應請求,需要考慮非瀏覽器端的請求,如:app,其它伺服器等等.token的設計就是為了替代cookie的狀態標記,以參數(或其它形式)來傳遞狀態,確保相容型.在上面也可以引申出其它功能,如限制單端登入等等.程式設計上有句名言:没有什么问题是一个中间件解决不了的,如果有就用两个...
没有什么问题是一个中间件解决不了的,如果有就用两个...
比方說你登入好,伺服器產生一個token字串,對應把token和用戶id綁定,設定有效期,保存資料庫。客戶端呼叫時,可以用token來判斷使用者是否登入過了!
token不是登入的時候用的,而是登入之後服務端產生token,後續客戶端請求都會帶上這個token,這樣你才知道這個請求是合法的請求。
在PC時代,這個token就是瀏覽器中的cookie,但是在行動端,一般是在介面中帶上token和token的有效期限以替代cookie!
cookie 是為了實現自動登入吧,或者SEESION_ID來標記服務端session.
因為HTTP協議是無狀態,需要藉助cookie來標記狀態,一般是瀏覽預設實現的.
但如果是以api介面的方式回應請求,需要考慮非瀏覽器端的請求,如:app,其它伺服器等等.
token的設計就是為了替代cookie的狀態標記,以參數(或其它形式)來傳遞狀態,確保相容型.
在上面也可以引申出其它功能,如限制單端登入等等.
程式設計上有句名言:
没有什么问题是一个中间件解决不了的,如果有就用两个...
比方說你登入好,伺服器產生一個token字串,對應把token和用戶id綁定,設定有效期,保存資料庫。客戶端呼叫時,可以用token來判斷使用者是否登入過了!
token不是登入的時候用的,而是登入之後服務端產生token,後續客戶端請求都會帶上這個token,這樣你才知道這個請求是合法的請求。
在PC時代,這個token就是瀏覽器中的cookie,但是在行動端,一般是在介面中帶上token和token的有效期限以替代cookie!