【发布时间】:2015-12-15 09:39:25
【问题描述】:
我正在开发基于 Amazon API Gateway 的网络应用程序。现在我创建了 Facebook 登录并成功登录网站。但是当我调用另一个 API 时,一切都消失了。我认为每次调用 API 时都应该传递 Cognito 令牌。我说的对吗?
如果是,如何将 Cognito 令牌传递给 API?像标题?还是其他方式?
谢谢,
【问题讨论】:
-
一切都消失了是什么意思?您需要有关 API Gateway API 内调用方的哪些信息?
-
您能否提供一些示例代码和您收到的错误消息?
-
@ScottWilleke 我的登录页面调用 /doLogin API,然后我从 Cognito 获取令牌和 ID。之后我进入像配置文件这样的受限页面,它调用 /showProfile API。现在 /showProfile 不知道我是否已登录。所以给了我错误“缺少身份验证令牌”。我认为我应该将我的令牌和 ID 发送到每个 API 网关调用,但是如何发送它们呢?像“Amazon-Cognito-Token”这样的标题?还是其他方式?
-
@user2882027 不清楚您的设置。 /doLogin 是否从 getOpenIdToken 返回 openId 令牌?您是否在 /showProfile API 上设置了 AWS_IAM 授权?如果是这样,您使用哪些凭据从浏览器调用它? sts 使用 Cognito OpenId 令牌担任角色的凭据?
-
@MarkMercurio 是的,/doLogin 从 getOpenIdToken 返回 openId 令牌。 /doLogin 授权为无,/showProfile 授权为 AWS_IAM。如果我调用 /doLogin 没有错误,但 /showProfile 给出错误“缺少身份验证令牌”。如何使用凭据调用/showProfile?
标签: amazon-web-services amazon-cognito