如何 decode/parse Cognito 返回给我的访问和 ID 令牌?

How do I decode/parse the Access and ID tokens returned to me by Cognito?

我的 javascript 代码中出现了以下两行:

alert(result.getAccessToken().getJwtToken());
alert(result.getIdToken().getJwtToken());

我现在想从 ID 令牌的有效负载中获取 family_name 值,以及令牌的到期时间,但有点困惑。我知道这些令牌是 JSON Web 令牌,但对于如何轻松访问这些属于 JSON Web 令牌负载的值(例如 family_name),我仍然有些困惑?! 谢谢

参见 this example,AWS Cognito JS SDK 中的一个函数;它解析 JWT 以读取令牌过期时间。 JWT 包含三个部分(header、有效载荷和签名 - 按此顺序),它们由“.”分隔。有效负载被编码为 base 64 中的 UTF-8 字符。要从有效负载中读取声明,请提取有效负载并将其转换为 JSON object。从 JSON object 中阅读您感兴趣的声明,例如在 payloadJsonObject.exp.

之前到期