JJWT:JWS, JWE, JWK, JWA, JWT
发布时间
阅读量:
阅读量
JWS, JWE, JWK, JWA, JWT
JWS:JSON Web Signature,Digital signature/HMAC specification(签名)
JWE:JSON Web Encryption,Encryption specification(加密)
JWK:JSON Web Key,Public key specification
JWA即JSON Web Algorithms是一种算法规范
JWT:JSON Web Token
什么是JSON Web Token
JSON数据格式(JWT)是一种在两个实体之间传递信息的技术。该技术采用JSON数据格式(JWT)作为基础编码方案,并在其主体部分编码的信息被称为claims。
其扩展形式通过嵌入JSON对象实现增强功能,使得每个claim对应于对象中的一个特定字段。
json数据传输方案可选加密模式使其成为jws标准或jwe标准两种形式。
这一改进增强了json数据传输方案的不可篡改性特征,在此框架下接收端能够确认信息未被篡改和伪造。
JWT的组成
- Header: 标题字段包括了与令牌相关的元数据信息,并根据指定的安全策略确定最小必要的签名类型。
- Claims: 响应体(Response Body)将携带您希望通过数字签名验证的信息。
- JSON Web Signature (JWS): Header字段将明确指定了用于数字签名的方法以及相关声明。
例:
Header:
{
"alg": "HS256",
"typ": "JWT"
}
Claims:
{
"sub": "1234567890",
"name": "John Doe",
"admin": true
}
Signature:
base64UrlEncode(Header) + "." + base64UrlEncode(Claims)
在这种情况下,在所获得的信息是采用SHA-256算法生成的HMAC来签名JWT。在body中存在一个 claim名称及其 value信息。
所生成JWT的结果是有三个部分的字符串,每个部分由"."分隔
例如:
eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJKb2UifQ.ipevRNuRP6HflG8cFKnmUPtypruRC4fb1DWtoLL62SY
JJWT
JW T 是一个 支持 全链 路 JWT 创建 与 验证 的 Java 库。其 操作 简单 且 容易 上 手。它 被 设计 成 一个 面 向 建筑 领域 的 友好 且 直观 的 界面 ,并 隐去了 大部 分复 杂性 。
- JJWT的主要目的是支持开发人员轻松地开发出能够在Java虚拟机(JVM)中生成并验证JSON Web令牌(JWTs)的应用程序。
- 该库遵循以下标准规范实现为Java库:RFC 7234, RFC 8659, RFC 8672, RFC 8417, 和 RFC 8418。
- JJT还增加了超出标准定义的一些实用功能如压缩 JWT 和强制执行等。
全部评论 (0)
还没有任何评论哟~
