JWT的数据结构【配JWT+RSA实现授权认证】

  • Post author:
  • Post category:其他




JWT简介

JWT,全称是Json Web Token, 是JSON风格轻量级的授权和身份认证规范,可实现无状态、分布式的Web应用授权;官网:

https://jwt.io



数据格式

JWT包含三部分数据:

  • Header:头部,通常头部有两部分信息:

    • 声明类型,这里是JWT
    • 签名算法,自定义

    我们会对头部进行base64编码,得到第一部分数据

    如图所示:头部是不具备安全性的。

    在这里插入图片描述

  • Payload:载荷,就是有效数据,一般包含下面信息:

    • 用户身份信息(注意,这里因为采用base64加密,可解密,因此不要存放敏感信息)
    • tokenID:当前这个JWT的唯一标示
    • 注册声明:如token的签发时间,过期时间,签发人等

这部分也会采用base64加密,得到第二部分数据

如图所示:载荷也不具备安全性。

在这里插入图片描述

  • Signature:签名,是整个数据的认证信息。一般根据前两步的数据,再加上服务的的密钥(secret)(不要泄漏,最好周期性更换),通过加密算法生成。用于验证整个数据完整和可靠性

如果所示:签名中决定整个token是否安全的关键在盐。

【如何使用JWT和RSA非对称加密进行授权认证单点登录】在这篇文章中的私钥我**

个人认为

**就是此处的盐

有错可以指出


在这里插入图片描述

生成的数据格式:

在这里插入图片描述



版权声明:本文为xiannbi原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。