'前端的登錄驗證是怎麼實現的?掌握這4種方法,再也不擔心鑑權了'

瀏覽器 數據庫 騰訊QQ Firefox 代碼開發 2019-09-13
"

1、Token驗證,目前是最流行的一種鑑權方式,他的大致流程:

客戶端使用用戶名跟密碼請求登錄 ,

服務端收到請求,去驗證用戶名與密碼 ,

驗證成功後,服務端會簽發一個 Token,再把這個 Token 發送給客戶端 。

客戶端收到 Token 以後可以把它存儲起來,比如放在 Cookie 裡或者 Local Storage 裡 。

客戶端每次向服務端請求資源的時候需要帶著服務端簽發的 Token 。

服務端收到請求,然後去驗證客戶端請求裡面帶著的 Token,如果驗證成功,就向客戶端返回請求的數據。

2、session-cookie

首次訪問,服務端會生成session來返回客戶端,客戶端用cookie保存,瀏覽器會在下次訪問的時候帶上seesion。

3、OAuth(開放授權)

利用第三方登錄,比如微信、QQ等等,對用戶來說,減輕了用來記憶賬號密碼的複雜性,對產品來說,提高了用戶的體驗度,而且還能獲得更多用戶。

4、HTTP Basic Authentication

這種方式很少見,但舉個簡單的例子,你就可能會明白,當我們在瀏覽器首次登錄的時候,瀏覽器會彈出一個窗口來確定是否保存賬號和密碼。

認證過程:

1、客戶端向服務器請求數據,請求的內容可能是一個網頁或者是一個ajax異步請求;

2、服務器向客戶端發送驗證請求代碼401;

3、當符合http1.0或1.1規範的客戶端(如IE,FIREFOX)收到401返回值時,將自動彈出一個登錄窗口,要求用戶輸入用戶名和密碼。

4、用戶輸入用戶名和密碼後,將用戶名及密碼以BASE64加密方式加密,並將密文放入前一條請求信息中。

5、服務器收到上述請求信息後,將Authorization字段後的用戶信息取出、解密,將解密後的用戶名及密碼與用戶數據庫進行比較驗證,如用戶名及密碼正確,服務器則根據請求,將所請求資源發送給客戶端。

"

相關推薦

推薦中...