為什么要用到token驗證呢? 我都是直接驗證用戶名和密碼 然后產(chǎn)生cookie 我看別人說用token 為什么要用token?哪一步用到token呢?
cookie 是為了實現(xiàn)自動登錄吧,或者SEESION_ID來標記服務端session.
因為HTTP協(xié)議是無狀態(tài),需要借助cookie來標記狀態(tài),一般是瀏覽默認實現(xiàn)的.
但如果是以api接口的方式響應請求,需要考慮非瀏覽器端的請求,如:app,其它服務器等等.
token的設計就是為了替代cookie的狀態(tài)標記,以參數(shù)(或其它形式)來傳遞狀態(tài),確保兼容型.
在上面也可以引申出其它功能,如限制單端登錄等等.
程序設計上有句名言:沒有什么問題是一個中間件解決不了的,如果有就用兩個...
比方說你登錄好,服務器生成一個token字符串,對應把token和用戶id綁定,設置有效期,保存數(shù)據(jù)庫。客戶端調(diào)用時,可以用token來判斷用戶是否登錄過了!
token不是登錄的時候用的,而是登錄之后服務端生成token,后續(xù)客戶端請求都會帶上這個token,這樣你才知道這個請求是合法的請求。
在PC時代,這個token就是瀏覽器中的cookie,但是在移動端,一般是在接口中帶上token和token的有效期以替代cookie!