JSON Web Token

JSON Web Token(JWT)定义了一种紧凑的、自包含的方式,用于网络应用环境间传递声明而执行的一种基于JSON的开放标准。JWT传递的信息可以被验证和信任,因为它是数字签名的。JWTs可以使用一个密钥(使用HMAC算法)或使用RSA或ECDSA的公钥/私钥对来签名。

JSON Web Token的组成

JSON Web令牌由由点(.)分隔的三个部分组成:

  • 1 Header
  • 2 Payload
  • 3 Signature

因此,JWT的结构通常是这样的:Header.Payload.Signature

    • Header
      头信息通常包含两部分,type:代表token的类型,这里使用的是JWT类型。 alg:使用的Hash算法,例如HMAC SHA256或RSA.
      例如:
      {
      :“alg HS256”,
      :“typ JWT”
      }
      然后,这个JSON是Base64Url编码,以形成JWT的第一部分。
    • Payload
      第二个部分是荷载信息,它包含一些声明Claim(实体的描述,通常是一个User信息,还包括一些其他的元数据)
    • signature
      第三部分是一个签证信息,这个签证信息由三部分组成:
      1、header (base64后的)
      2、payload (base64后的)
      3、secret
      这部分需要base64加密后的header和base64加密后的payload使用“.”连接组成的字符串,然后通过header中声明的加密方式进行加盐secret组合加密
原文地址:https://www.cnblogs.com/sjt072/p/11925904.html