【问题标题】:Exchange token from AWS Cognito to AWS API Gateway从 AWS Cognito 交换令牌到 AWS API Gateway
【发布时间】:2017-11-25 22:53:03
【问题描述】:

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

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

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

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

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

如果有人可以帮助我,我将不胜感激!

【问题讨论】:

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


    【解决方案1】:

    我就放弃了:(

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

    浪费了 4 天时间试图弄清楚如何连接所有 AWS 服务但没有成功。

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

    【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

    • 感谢您的回答 :) 但我不确定这是如何工作的 :(
    猜你喜欢
    • 2022-11-15
    • 2017-12-30
    • 2019-08-20
    • 2018-12-16
    • 2017-05-29
    • 2019-07-20
    • 2015-09-19
    • 2021-08-05
    • 2022-01-15
    相关资源
    最近更新 更多