成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

JWT+RSA鑒權(quán)

Tecode / 2223人閱讀

摘要:一般根據(jù)前兩步的數(shù)據(jù),再加上服務(wù)的的密鑰不要泄漏,最好周期性更換,通過加密算法生成。非對稱加密后的授權(quán)和鑒權(quán)流程用戶只需要與微服務(wù)交互,不用訪問授權(quán)中心,效率大大提高

1)JWT簡介

JWT,全稱是Json Web Token, 是JSON風(fēng)格輕量級的授權(quán)和身份認(rèn)證規(guī)范,可實現(xiàn)無狀態(tài)、分布式的Web應(yīng)用授權(quán);官網(wǎng):https://jwt.io (JWT,生成Token加密字符串的一個標(biāo)準(zhǔn)或格式!)

image.png

GitHub上jwt的java客戶端:https://github.com/jwtk/jjwt

2)JWT數(shù)據(jù)格式

JWT包含三部分?jǐn)?shù)據(jù):

  • Header:頭部,通常頭部有兩部分信息:

    • 聲明類型,這里是JWT
    • 簽名算法,自定義

我們會對頭部進(jìn)行base64編碼,得到第一部分?jǐn)?shù)據(jù)

如圖所示:頭部是不具備安全性的。

image.png

  • Payload:載荷,就是有效數(shù)據(jù),一般包含下面信息:

    • 用戶身份信息(注意,這里因為采用base64加密,可解密,因此不要存放敏感信息)
    • tokenID:當(dāng)前這個JWT的唯一標(biāo)示
    • 注冊聲明:如token的簽發(fā)時間,過期時間,簽發(fā)人等

這部分也會采用base64加密,得到第二部分?jǐn)?shù)據(jù)

如圖所示:載荷也不具備安全性。

image.png

  • Signature:簽名,是整個數(shù)據(jù)的認(rèn)證信息。一般根據(jù)前兩步的數(shù)據(jù),再加上服務(wù)的的密鑰(secret)(不要泄漏,最好周期性更換),通過加密算法生成。用于驗證整個數(shù)據(jù)完整和可靠性

如果所示:簽名中決定整個token是否安全的關(guān)鍵在鹽。

image.png

生成的數(shù)據(jù)格式:

image.png

可以看到分為3段,每段就是上面的一部分?jǐn)?shù)據(jù)

登錄和鑒權(quán)流程:JWT+RSA

有了非對稱加密,我們就可以改變簽名和驗簽的方式了:

  • 生成RSA密鑰對,私鑰存放在授權(quán)中心,公鑰下發(fā)給微服務(wù)
  • 在授權(quán)中心利用私鑰對JWT簽名
  • 在微服務(wù)利用公鑰驗證簽名有效性

因為非對稱加密的特性,不用擔(dān)心公鑰泄漏問題,因為公鑰是無法偽造簽名的,但要確保私鑰的安全和隱秘

非對稱加密后的授權(quán)和鑒權(quán)流程:
image.png

用戶只需要與微服務(wù)交互,不用訪問授權(quán)中心,效率大大提高!

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/126001.html

相關(guān)文章

  • 如何在SpringBoot中集成JWT(JSON Web Token)鑒權(quán)

    摘要:在使用非對稱加密算法進(jìn)行簽名的時候,還可以用于驗證的發(fā)件人是否與中申明的發(fā)件人是同一個人。如果沒有用非對稱加密算法的話,把復(fù)制之后直接可以去官網(wǎng)在線解析。 這篇博客主要是簡單介紹了一下什么是JWT,以及如何在Spring Boot項目中使用JWT(JSON Web Token)。 1.關(guān)于JWT 1.1 什么是JWT 老生常談的開頭,我們要用這樣一種工具,首先得知道以下幾個問題。 這...

    yeyan1996 評論0 收藏0
  • Spring Security

    摘要:框架具有輕便,開源的優(yōu)點,所以本譯見構(gòu)建用戶管理微服務(wù)五使用令牌和來實現(xiàn)身份驗證往期譯見系列文章在賬號分享中持續(xù)連載,敬請查看在往期譯見系列的文章中,我們已經(jīng)建立了業(yè)務(wù)邏輯數(shù)據(jù)訪問層和前端控制器但是忽略了對身份進(jìn)行驗證。 重拾后端之Spring Boot(四):使用JWT和Spring Security保護(hù)REST API 重拾后端之Spring Boot(一):REST API的搭建...

    keelii 評論0 收藏0
  • 使用JWT(Json Web Token)實現(xiàn)登錄認(rèn)證

    摘要:今天我們來結(jié)合實例給大家講述的實戰(zhàn)應(yīng)用,就是如何使用前端與后端實現(xiàn)用戶登錄鑒權(quán)認(rèn)證的過程。只用了一個串,建立前后端的驗證的數(shù)據(jù)傳遞,實現(xiàn)了有效的登錄鑒權(quán)過程。 今天我們來結(jié)合實例給大家講述JWT(Json Web Token)的實戰(zhàn)應(yīng)用,就是如何使用前端Axios與后端PHP實現(xiàn)用戶登錄鑒權(quán)認(rèn)證的過程。 文中涉及的重要知識點: axios異步請求:axios-基于Promise的HTT...

    Yu_Huang 評論0 收藏0
  • 關(guān)于JWT(Json Web Token)的思考及使用心得

    摘要:什么是是一個開放的數(shù)據(jù)交換驗證標(biāo)準(zhǔn),一般用來做輕量級的鑒權(quán)。由于許多接口設(shè)計是遵循無狀態(tài)的比如,所以是這一套機(jī)制的替代方案。組成由三部分組成頭部載荷簽名。 什么是JWT? JWT(Json Web Token)是一個開放的數(shù)據(jù)交換驗證標(biāo)準(zhǔn)rfc7519(https://tools.ietf.org/html/r...,一般用來做輕量級的API鑒權(quán)。由于許多API接口設(shè)計是遵循無狀態(tài)的(...

    taohonghui 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<