JWT详解

一、JWT应用

JWT(JSON Web Token)通常被用于鉴权机制中的 token 实现。

JWT 是一种开放标准,定义了一种紧凑、自包含的方式,用于在各方之间安全地传输信息。在鉴权机制中,当用户登录成功后,服务器可以将用户的身份信息封装在 JWT 中,并将其作为 token 发送给客户端。客户端可以将该 token 存储在本地,以便在每个后续请求中使用。每个请求都会携带该 token,服务器会对 token 进行解析,并根据其中的信息进行鉴权处理。

JWT 具有以下优点:

  1. 简单:JWT 是一种简单的方式来将用户身份信息封装在 token 中,适用于分布式系统。

  2. 自包含:JWT 包含了用户身份信息,因此不需要查询数据库或其他存储介质。

  3. 可验证:服务器可以验证 JWT 是否被篡改,以及 JWT 是否由服务器签发。

  4. 可扩展:JWT 允许扩展性,可以将其他有用的信息添加到 JWT 中,以便在后续请求中使用。

  5. 跨语言:由于 JWT 是基于 JSON 格式的标准,因此可以在不同编程语言之间进行交互。

二、JWT组成

分割成的三部分分别是Header头部,Payload负载,Signature签名 。

即 Header.Payload.Signature

  1. JWT是不加密的,任何人都可以读的到其中的信息,其中第一部分 Header 和第二部分 Payload 只是对原始输入的信息转成了base64编码,第三部分Signature是用header+payload+secret_key进行加密的结果。

  2. 因为JWT不会对结果进行加密,所以不要保存敏感信息在Header或者Payload中,服务端也主要依靠最后的 Signature 来验证Token是否有效以及有无被篡改。

  3. 可以直接用 base64 对 Header 和 Payload 进行解码得到相应的信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值