JWT授权鉴权(一)

JWT的数据结构

  • HEADER(json请求头)
    {
    “alg”: “HS256”
    ,”typ”: “JWT”
    }
  • PAYLOAD(用户信息等)
    {
    “sub”: “1234567890”,
    “name”: “John Doe”,
    “iat”: 1516239022
    }
  • VERIFY SIGNATURE(用sha256算法所加密的密文)
    HMACSHA256
    (
    base64UrlEncode(header) + “.” +
    base64UrlEncode(payload),
    your-256-bit-secret
    ) secret base64 encoded

    原理

    • 在授权服务器和鉴权服务器都有有密匙
      ->此密匙可以通过sha256算法加密和解密密文
    • 在授权服务器,验证密码通过以后,将上面的
      HEADER的开头一部分(base64UrlEncode(header))
      PAYLOAD的开头一部分(base64UrlEncode(payload))
      通过密匙(your-256-bit-secret)加密
      ->生成VERIFY SIGNATURE
    • HEADERPAYLOADVERIFY SIGNATURE返回客户端
    • 客户端向鉴权服务器请求时,将HEADERPAYLOADVERIFY SIGNATURE发送到鉴权服务器
      会进行鉴权动作:
      用本地的 密匙通过sha256解密VERIFY SIGNATURE的内容
      然后将其与接收到的HEADERPAYLOAD进行比对,无误则鉴权通过
    此条目发表在JWT分类目录。将固定链接加入收藏夹。

    发表回复

    您的电子邮箱地址不会被公开。 必填项已用*标注