从AWS Cognito到AWS API Gateway的交换令牌

时间:2017-11-15 22:07:01

标签: amazon-web-services aws-api-gateway aws-cognito

我正在准备我的学位论文(专注于云计算),所以如果这个问题看起来很愚蠢,我就是学生而不是道歉的专家。

我正在构建基于NodeJS和Javascript(后端和前端)的无服务器架构。 我想通过AWS Cognito管理用户。 我已经配置了我的用户池和GUI,以便注册用户或允许用户使用Facebook或Google等身份提供商(身份验证登录)。

我被卡住是因为在用户点击Facebook登录后我能够在我的回调页面中检索令牌(它看起来像xxxx-xxxx-xxxx-xxxx)但是如果我尝试使用该令牌“授权“在标题中以访问API(AWS API网关)我收到了未经授权的请求。

我知道我需要将此令牌与有效的AWS身份令牌交换,但我无法理解如何在JS中使用AWS JS SDK。

我在网上找到了几个使用用户名和密码的例子,但如果我没有这些数据,只有来自Facebook或Google的令牌,我怎样才能获取AWS身份令牌?

如果有人可以帮助我,我真的很感激!

2 个答案:

答案 0 :(得分:2)

我放弃了:(

我使用google Firebase在不到1小时内完成了所有事情(托管+身份验证+无服务器功能+数据库)。

尝试了解如何连接所有AWS服务但没有成功,浪费了4天。

如果您正在寻找快速完整的无服务器解决方案,我建议您查看Google Firebase。

答案 1 :(得分:0)

如果您想将Facebook和Google与Amazon Web Services一起使用,您应该了解Amazon Cognito Federated Identities

Amazon Cognito联合身份可让您创建唯一身份并为用户分配权限。您的身份库可以包括:

  • Amazon Cognito用户池中的用户
  • 使用联合身份提供程序进行身份验证的用户,例如 Facebook,Google或基于SAML的身份提供商
  • 通过您自己的现有身份验证过程进行身份验证的用户