JWT
一、JWT
JWT:( JSON Web Token ) JWT 结构化令牌 https://jwt.io/
JWT 这种结构化体可以分为 HEADER(头部)、PAYLOAD(数据体)和 SIGNATURE(签名)三部分。
header.payload.signature
目前 OAuth 2.0 的令牌只支持一种类型,那就是 bearer 令牌
二、JWT授权为什么要在 Authorization标头里加个Bearer ?
Authorization : Bearer Token 为什么不写成 Authorization : Token。
这是因为 W3C 的 HTTP 1.0 规范,Authorization 的格式是:
Authorization: <type> <authorization-parameters>
Bearer 是授权的类型,常见的授权类型还有:
Basic 用于 http-basic 认证;
Bearer 常见于 OAuth 和 JWT 授权;
Digest MD5 哈希的 http-basic 认证 (已弃用)
AWS4-HMAC-SHA256 AWS 授权
三、JWT好处
每次提到无状态的 JWT 时相信都会看到另一种基于 Session 的用户认证方案介绍,这里也不例外,Session 的认证流程通常会像这样。
这种方案有一些缺点:
- 需要从内存或数据库里存取 session 数据
- 扩展性差,对于分布式应用,需要实现 session 数据共享
JWT 正好可以解决这些问题。JWT 的魔法很简单,将需要使用到的用户数据等信息放入 JWT 里面,每次请求都会携带上,只要保证密钥不泄露,JWT 就无法伪造。
JWT包含用户信息,避免频繁调取数据库。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!