专栏名称: 码农小胖哥
技术公众号:码农小胖哥
目录
相关文章推荐
51好读  ›  专栏  ›  码农小胖哥

你知道你对 JSON Web Token 的认识存在误解吗

码农小胖哥  · 掘金  ·  · 2019-12-05 01:05

正文

阅读 904

你知道你对 JSON Web Token 的认识存在误解吗

1.前言

JSON Web Token (JWT) 其实目前已经广为软件开发者所熟知了,但是 JOSE (Javascript Object Signing and Encryption) 却鲜有人知道,我第一次知道它是在 Spring Security 的官方文档中,它改变了我对 JWT 的一些认识。目前国内能找到相关中文资料不是太多。所以我觉得有必要归纳一下。

2. JOSE 概述

JOSE 是一种旨在提供在各方之间安全传递声明(claims)的方法的规范集。我们常用的 JWT 就包含了允许客户端访问特定应用下特定资源的声明。 JOSE 制定了一系列的规范来达到此目的。目前该规范还在不断的发展,我们常用的包含以下几个 RFC :

  • JWS(RFC 7515) -JSON Web签名,描述生成和处理签名消息
  • JWE(RFC 7516) -JSON Web加密,描述了保护和处理加密 消息
  • JWK(RFC 7517) -JSON Web密钥,描述 Javascript 对象签名和加密中加密密钥的 格式和处理
  • JWA(RFC 7518) -JSON Web算法,描述了 Javascript 对象签名和加密中使用的 加密 算法
  • JWT(RFC 7519) -JSON Web令牌,描述以 JSON 编码并由 JWS JWE 保护的声明的表示形式

3. 我们都看错了 JWT

看了对 JWT 的描述中提到 “令牌以 JWS 或者 JWE 声明表示”。莫非我之前的认知是错误的吗? 找了一些官方的资料研究了一番后,确实我之前的认知是不够全面的。







请到「今天看啥」查看全文