WT是什么意思?

Admin in 问答 2024-03-25 14:14:58

JSON Web Token(JWT)是一种基于JSON(JavaScript Object Notation)结构的开放标准(RFC 7519),用于通过成对的主体(通常是应用程序)之间在网络应用程序环境中安全地传输信息,并且可以用作身份验证的简洁的,自包含的方式。

JWT的令牌由三部分组成:标头,有效负载和签名。

标头含有所使用的签名算法,也是一个JSON对象,其中可以声明令牌类型及其其他元数据,例如应用程序名称等:

'{
"alg": "HS256",
"typ": "JWT"
}'

有效负载是一个JSON对象,其中存储想要传输的信息,如用户角色,发行日期等。

'{
"sub": "1234567890",
"name": "John Doe",
"admin": true
}'

签名是一个使用哈希算法加密过的字符串,它由前两部分和一个秘密密钥组成,以确保有效负载的完整性和正确性:

HS256(
base64UrlEncode(header) + "." +
base64UrlEncode(payload),
secret
)

这些三部分都可以使用base64Url编码,然后被拼接为一个字符串,如:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ

这些令牌大多数情况下通过 HTTP 标头 X-Auth-Token 或 Authorization 传输,可以通过认证服务器以及应用程序之间以及和用户的信息传输来使用它们。

由于JSON web令牌自身包含有效的凭据,服务器无需验证其真实性,并且可以将其用于无状态的身份验证,服务器也不再需要为每个会话存储临时状态。这提升了服务器的可扩展性和可靠性,而不需要大量的内存和 CPU 时间。

因此,JWT 技术可以确保双方的灵活性,安全性和可伸缩性,支持简单的信息传输和身份验证,无需存储大量的用户数据。它可以用于搜索引擎爬虫,多层身份验证,服务器端状态保持,移动认证,客户端认证,API 安全性等功能。

免责声明:本站文字信息和图片素材来源于互联网,仅用于学习参考,如内容侵权与违规,请联系我们进行删除,我们将在三个工作日内处理。联系邮箱:chuangshanghai#qq.com(把#换成@)

-- End --