安全
JWT · JSON Web Token
/ jot /
JWT 是一种紧凑、自带信息的令牌(token),它写明了「你是谁」,并经过签名,所以服务器可以信任它。把它想成音乐节上那种防伪手环:上面印着你的信息,还有一枚证明确实是工作人员发放的封印。亮一下手环你就被放行了——没人需要再去名单里查你。
巧妙之处正在这里。传统登录意味着服务器要在自己的内存里保存一份会话,每次请求都去核对。而 JWT 把这些事实直接装在令牌内部,服务器只需验证那个签名。不用查数据库——这正是 JWT 在「跨多台服务器保持登录」这件事上大受欢迎的原因。
一个 JWT 由三段用点号隔开的部分组成——header.payload.signature(头部.载荷.签名)——而前两段只是 Base64 编码,并非加密。所以千万别把秘密塞进 JWT;任何拿到它的人都能读出载荷。签名能阻止他们篡改,却挡不住他们查看。
Authorization: Bearer eyJhbGci.eyJzdWIi.SflKxw // header . payload . signature
随请求发送的 JWT:三段式,已签名,服务器无需查表即可验证。
读作「jot」。由于 JWT 在过期之前无法被「收回」,请把有效期设得短一些——它一旦发出去,就一直有效,直到时间耗尽为止。
又称
另见