我是JWT技术的新手,我正在阅读很多关于它的内容.
我知道JWT有3个部分:
HEADER:算法和令牌类型
有效载荷:DATA
签名将通过秘密密钥验证
是否可以加密有效载荷信息?我的意思是,比方说我在我的令牌中有这个有效载荷信息:
{ "iss": "joe", "exp": "1300819380", "data": { "id": "12", "userName": "PH", "qntRed": "7", "qntGrad": { "1": "800", "2": "858", "3": "950", "4": "745", "5": "981" } }
让我们说"qntGrad"是敏感信息.是否可以使用密钥对其进行加密?它仍然是JWT令牌吗?
实际上,不仅签署了JWT,还有RFC描述的几种技术:
JW S JSON Web签名(RFC 7515),
JW T JSON Web令牌(RFC 7519),
JW E JSON Web加密(RFC 7516),
JW A JSON Web算法(RFC 7518).
JW K JSON Web Key(RFC 7517).
在您的情况下,请阅读RFC7516(JWE).这些JWE有5个部分:
受保护的标题
加密密钥
初始化向量
密文
验证标签
根据您的平台,您可能会找到一个可帮助您创建此类加密JWT的库.关于PHP
,我正在编写一个已经能够加载并创建这些jose的库.