Advertisement

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)

还没有任何评论哟~