amazon-web-services - 无法使用 Cognito 颁发的访问令牌连接 API Gateway
问题描述
这里的文档说,您可以使用 cognito 发布的访问令牌或 idToken 连接 AWS API 网关。
我正在为我的一个 Angular 项目使用 amazon-cognito-identity-js。登录后,我会收到三个令牌,即。sdk存储到本地存储的accessToken、idToken和refreshToken。
在后续调用中使用 idToken 作为 Authorization 标头成功地为我提供了来自 API 网关集成方法的数据,而如果我使用 accessToken 我收到 401-Unauthorized 并且响应标头说:
x-amzn-errortype: UnauthorizedException
访问令牌不能用于上述目的吗?我可以很好地使用 idToken,除了在 idToken 失效方面存在已知问题,即使在此处cognito.user.signOut
解释之后或什globalSignOut
至如此解释。
有人可以建议为什么访问令牌可能不起作用。
解决方案
如果您正在验证任何自定义范围,则可以针对 API 端点使用访问令牌。换句话说,如果您没有为您的应用程序客户端定义任何自定义范围,您将使用 id 令牌来调用 API 端点。否则,您可以使用访问令牌来验证任何自定义范围。
希望这可以帮助。
参考:
推荐阅读
- r - ggplot2中的大柱图显示不准确的值
- tensorflow - TensorFlow GPU 分析
- python-3.x - 如何在元组列表中写入多个列表
- google-apps-script - 在 google 应用程序脚本中设置 Twilio 客户端
- java - bazel build android_binary with Guava 依赖抱怨 min_sdk_version 尽管在清单中设置
- node.js - 将 Paypal cURL 命令转换为 Axios 请求
- json - FromJson 返回 null ,颤动
- android - 将属性的值设置为 XML 中另一个视图属性的值?
- javascript - 从数组中删除所有其他单词(文本段落)
- sql - Oracle 从 JSON 数组中选择