Cognito刷新令牌是否为“有效” JSON Web令牌?

时间:2020-02-26 21:39:50

标签: amazon-web-services jwt amazon-cognito

我一直在尝试验证Amazon Cognito Identity Provider通过其boto3 python客户端返回的“刷新令牌”。我一直在使用https://jwt.io上的验证器。

当我将刷新令牌粘贴到“已编码”框中时,它将返回标题:

{
  "cty": "JWT",
  "enc": "A256GCM",
  "alg": "RSA-OAEP"
}

但是该工具在底部也显示“无效签名”。

我想知道这是否是预期的行为? AWS Cognito刷新令牌不是有效的JWT吗?

1 个答案:

答案 0 :(得分:6)

是的,使用此标头,似乎刷新令牌是有效的JWT。

https://jwt.io无法解析它,因为它仅限于签名的JWT(JWS-RFC7515),而这是一个加密的JWT(JWE-RFC7516)。

与JWS相反,JWE由5个由点分隔的部分组成。可以解析其标头,但是有效载荷已加密,没有私有或共享密钥就无法读取。

根据cty头,此令牌包含另一个JWT,该JWT当然是JWS。此嵌套令牌允许两个世界:签名和加密声明。