token的簡單使用

想必大家都知道對於用於驗證成功之後,對於用戶信息的識別不在通過數據庫識別,而是通過簽名來驗證用戶是否之前登陸過的。

與cookie相比較的優勢:

1、支持跨域訪問,將token置於請求頭中,而cookie是不支持跨域訪問的;

2、無狀態化,服務端無需存儲token,只需要驗證token信息是否正確即可,而session需要在服務端存儲,一般是通過cookie中的sessionID在服務端查找對應的session;

3、無需綁定到一個特殊的身份驗證方案(傳統的用戶名密碼登陸),只需要生成的token是符合我們預期設定的即可;

4、更適用於移動端(Android,iOS,小程序等等),像這種原生平臺不支持cookie,比如說微信小程序,每一次請求都是一次會話,當然我們可以每次去手動爲他添加cookie,詳情請查看博主另一篇博客;

5、避免CSRF跨站僞造攻擊,還是因爲不依賴cookie;

6、非常適用於RESTful API,這樣可以輕易與各種後端(java,.net,python......)相結合,去耦合

本博客是基於jwt的token認證的簡單實現:

1、加入jwt的依賴

 <dependency>
            <groupId>com.auth0</groupId>
            <artifactId>java-jwt</artifactId>
            <version>3.3.0</version>
 </dependency>

2、創建一個TokenUtil類,聲明2個變量過期時間和token祕鑰(UUID可能會更好,我是自己隨便輸的),token祕鑰用於後面解密

3、加密

4、解密。該方法的參數token是加密方法的返回值

5、登錄接口

6、判斷用戶是否登錄接口

最後使用postman進行測試就ok了,postman的安裝和使用請看我另外一篇文章

項目地址:https://github.com/1359533909/simple_token

發佈了483 篇原創文章 · 獲贊 104 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章