什么是JWT

定义

  • JWT(Json Web Token)是一个开放标准,定义了一种紧凑且自成一体的方式,以便将各方之间的信息安全地传输为JSON对象

使用场景

  • 授权:最常用的使用场景,登陆后,每个后续请求将包括JWT,允许用户访问该令牌允许的路线、服务和资源。单一登录是当今广泛使用 JWT 的一项功能,因为它的开销很小,并且能够在不同领域轻松使用。
  • 信息交换:JSON网络币之类的,不太常用。

结构

  • 主要由三部分组成:Header(头部)Payload(有效载荷)Signature(签名),中间使用.隔开,最终类似xxx.yyy.zzz这种格式。

  • Header(头部):主要包含两两部分,token的类型所用的签名方法,如下图。最后使用Base64进行编码,形成JWT第一部分。
    Header

  • Payload(有效载荷):信息的主要部分,由各种Claims声明组成,有三种类型(注册声明、公共声明和私有声明),声明各种你想要传递的东西,如下图。最后依旧使用Base64进行编码,形成JWT第二部分。
    Payload

  • Signature(签名):使用第一部分声明的签名方法,对已经形成完毕的第一第二部分再加盐secret组成后,进行签名,得到的结果就是第三部分,加密过程如下图:
    Signature

  • 最终使用.将三部分拼接,JWT就制作完成了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值