Java中怎么實現(xiàn)token認證-創(chuàng)新互聯(lián)

Java中怎么實現(xiàn)token認證,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學(xué)習下,希望你能有所收獲。

我們提供的服務(wù)有:成都做網(wǎng)站、成都網(wǎng)站制作、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、上杭ssl等。為千余家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的上杭網(wǎng)站制作公司

一、與cookie相比較的優(yōu)勢:

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

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

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

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

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

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

還有一些優(yōu)勢這里就不一一列舉了。

二、基于JWT的token認證實現(xiàn)

JWT:JSON Web Token,其實token就是一段字符串,由三部分組成:Header,Payload,Signature。詳細情況請自行百度,現(xiàn)在,上代碼。

1、引入依賴,這里選用java-jwt,選擇其他的依賴也可以

2、實現(xiàn)簽名方法

設(shè)置15分鐘過期也是出于安全考慮,防止token被竊取,不過一般選擇基于token認證,傳輸方式我們都應(yīng)該選擇https,這樣別人無法抓取到我們的請求信息。這個私鑰是非常重要的,加密解密都需要用到它,要設(shè)置的足夠復(fù)雜并且不能被盜取,我這里選用的是一串uuid,加密方式是HMAC256。

3、認證

我這里演示的還是以傳統(tǒng)的用戶名密碼驗證,驗證通過發(fā)放token。

4、配置攔截器

實現(xiàn)HandleInterceptor,重寫preHandle方法,該方法是在每個請求之前觸發(fā)執(zhí)行,從request的頭里面取出token,這里我們統(tǒng)一了存放token的鍵為accessToken,驗證通過,放行,驗證不通過,返回認證失敗信息。

5、設(shè)置攔截器

這里使用的是Spring的xml配置攔截器,放過認證接口。

6、token解碼方法

7、測試

訪問攜帶token,請求成功。

未攜帶token或者token錯誤,過期,返回認證失敗信息。

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,的支持。

網(wǎng)站名稱:Java中怎么實現(xiàn)token認證-創(chuàng)新互聯(lián)
本文鏈接:http://bm7419.com/article42/dicgec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標簽優(yōu)化、網(wǎng)站改版、ChatGPT、網(wǎng)站維護、企業(yè)網(wǎng)站制作、做網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護公司