一、JWT 是什么?
JWT(JSON Web Token)是一种开放标准 (RFC 7519),它定义了一种紧凑且独立的方式,用于将信息作为 JSON 对象在各方之间安全地传输。该信息可以进行验证和信任,因为它是经过数字签名的。JWT 可以使用密钥(使用 HMAC 算法)或使用 RSA 或 ECDSA 的公钥/私钥对进行签名。
通俗地说,JWT 的本质就是一个字符串,它是将用户信息保存到一个 Json 字符串中,然后进行编码后得到一个 JWT token,并且这个 JWT token 带有签名信息,接收后可以校验是否被篡改,所以可以用于在各方之间安全地将信息作为 Json 对象传输。
二、为什么使用 JWT?
基于 token 的认证方式相比传统的 session 认证方式更节约服务器资源,并且对移动端和分布式更加友好。具有如下优点:
1.支持跨域访问
cookie 是无法跨域的,而 token 由于没有用到 cookie(前提是将 token 放到请求头中),所以跨域后不会存在信息丢失问题。
2.无状态
token 机制在服务端不需要存储 session 信息,因为 token 自身包含了所有登录用户的信息,所以可以减轻服务端压力。
3.更适用CDN
可以通过内容分发网络请求服务端的所有资料。
本文详细介绍了JWT(JSON Web Token)的基本概念、使用优势以及何时使用。接着,通过一个SpringBoot项目实例展示了JWT的集成过程,包括创建项目、配置、实体类和JWT工具类的编写,以及登录控制器的实现,帮助读者理解JWT在实际应用中的验证流程。
订阅专栏 解锁全文
1404

被折叠的 条评论
为什么被折叠?



