admin 管理员组文章数量: 887021
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,Algorithms and identifiers specification(算法)
JWT:JSON Web Token
什么是JSON Web Token
JWT是一种在两方之间传输信息的方法。
在JWT的主体中编码的信息被称为claims。JWT的扩展形式是JSON格式,因此每个claim都是JSON对象中的一个键。
JWTs可以加密签名(使它成为JWS)或加密(使它成为JWE)。
这为JWTs增强了可验证性。例如,接收者可以确定JWT没有通过验证签名来篡改。
JWT的组成
- Header: 标题包含了令牌的元数据,并且在最小包含签名和/或加密算法的类型
- Claims: Claims包含您想要签署的任何信息
- 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 name与value John Doe 等信息。
所生成JWT的结果是有三个部分的字符串,每个部分由"."分隔
例如:
eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJKb2UifQ.ipevRNuRP6HflG8cFKnmUPtypruRC4fb1DWtoLL62SY
JJWT
JJWT是一个提供端到端的JWT创建和验证的Java库。永远免费和开源(Apache License,版本2.0),JJWT很容易使用和理解。它被设计成一个以建筑为中心的流畅界面,隐藏了它的大部分复杂性。
- JJWT的目标是最容易使用和理解用于在JVM上创建和验证JSON Web令牌(JWTs)的库。
- JJWT是基于JWT、JWS、JWE、JWK和JWA RFC规范的Java实现。
- JJWT还添加了一些不属于规范的便利扩展,比如JWT压缩和索赔强制。
版权声明:本文标题:JJWT:JWS, JWE, JWK, JWA, JWT 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1688007022h167998.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论