JWT 详解
👨🎓作者:Java 学术趴
💌公众号:Java 学术趴
🚫特别声明:原创不易,未经授权不得转载或抄袭,如需转载可联系小编授权。
🙏版权声明:文章里的部分文字或者图片来自于互联网以及百度百科,如有侵权请尽快联系小编。微信搜索公众号 Java 学术趴联系小编。
☠️每日毒鸡汤:堕落的一天
JWT
1. JWT 介绍
JWT 简称 JSON Web Token,也就是用过 JSON 形式作为 Web 应用中的令牌,用于在各方之间(比如前后端之间、A 系统与 B 系统之间)安全地将信息作为 JSON 对象传输。在数据传输过程中还可以完成数据加密、签名等相关处理。多用于 Java Web 以及前后端分离的项目
JWT 的认证是完全基于令牌的。
2. JWT 作用
授权: 这是使用 JWT 最常见的方案。一旦用户登录,每个后续请求将包括 JWT,从而允许用户访问该令牌允许的路由、服务和资源。单点登录是当今广泛使用 JWT 的一项功能,因为它的开销小并且可以在不同的领域中国轻松使用。
信息交换: JWT 是在各方之间安全地传输信息的好方法。因为可以对 JWT 进行签名(例如:使用公钥/私钥),所以您可以确保发件人是他们所说的人。此外,由于签名是使用标头和有效负载计算的,因此您还可以验证内容是否遭到篡改。
3. 使用 JWT 的好处
JWT 是完全基于令牌模式实现的。
JWT 的会把令牌存储到客户端,而不是服务端,这样就节省了大量的服务端的内存空间。
JWT 认证是在服务端进行,但是存储的令牌文件在客户端
4. JWT 认证流程
5. JWT 的结构
没有进行 Base64 编译之前的 JWT 结构,其实就是:{}.{}.{} 形式
进行 Base64 编码之后的 JWT 结构。xxxx.yyyy.zzzz 结构
6. 使用 JWT
7. 验证 JWT
版权声明: 本文为 InfoQ 作者【Java学术趴】的原创文章。
原文链接:【http://xie.infoq.cn/article/e5938b3c54259497a9aa49201】。文章转载请联系作者。
评论