【问题标题】:3rd Party App Tokens within AppSync with User PoolsAppSync 中的第 3 方应用程序令牌与用户池
【发布时间】:2019-07-10 16:51:27
【问题描述】:

在阅读了一些 Using multiple authorization types with AWS AppSync GraphQL APIsThe Complete Guide to User Authentication with the Amplify Framework 之后,我想不通的一件事是我是否可以拥有 3rd 方应用程序令牌(例如 Twitter API)并使用 AppSync+Cognito 生成服务到服务的凭据服务突变/查询?

我已经有一个通过 Cognito 的用户流(类型 AMAZON_COGNITO_USER_POOLS)。我想使用我的 AppSync 集中服务到服务的调用。限制服务/令牌访问也很好(仅限 X 突变,而不是整个模式)。那可能吗?

我对当前的限制有点迷茫。

  • 我需要 Cognito 中的自定义授权人吗?
  • 我应该将所有内容移至 IAM 凭证吗?
  • 具有手动凭据检查 + AppSync 调用的 Lambda 解析器?
  • 我做不到,我需要将这些令牌存储在不同的位置(DynamoDB 等),使用元数据/一些 id 来获得某种身份,并始终使用 Lambda 解析器等。

我们非常欢迎您提出想法和见解, 谢谢!

【问题讨论】:

    标签: amazon-web-services aws-lambda amazon-cognito aws-amplify aws-appsync


    【解决方案1】:

    从今天开始,AppSync does support 4 types of user authentication

    • API 密钥(无身份验证)
    • IAM 凭证
    • OpenID 令牌
    • Cognito 用户池令牌

    还有a request to add custom lambda authorisers,但到目前为止还没有任何消息。

    在您的场景中,我将在 App Sync 端使用 Cognito 用户池身份验证,并将 Cognito 用户池与 Twitter OIDC 联合。我知道几年前 Twitter 只支持 Oauth2 的自定义子集。我会让你检查他们现在是否支持 OIDC :-)

    但你不是唯一一个问这个问题的人

    【讨论】:

    • 感谢塞巴斯蒂安的输入!也许我没有正确引用我的问题。我想为我的客户(外部服务)生成应用令牌以访问我的 AppSync API 以进行服务到服务的通信(我尝试使用 Twitter API 作为示例,您可以在其中生成应用令牌并可以使用私有/经过身份验证的端点)。我对我的用于 UI 流的 Cognito 用户池感到满意,并且由于我们在那里有一些变化,我正在考虑弃用我们为服务到服务而使用的 API 网关,并为此使用 AppSync,对你有意义吗?
    • 对不起,我误解了你的问题。所以,你没有太多的事情要做。 AppSync 可以原生使用 Cognito 用户池生成的令牌。在此处查看文档docs.aws.amazon.com/appsync/latest/devguide/…,Nader 在网络上发布了许多内容,例如此视频youtube.com/watch?v=VKhLqBG7sdI
    猜你喜欢
    • 2020-09-03
    • 1970-01-01
    • 2014-07-30
    • 2022-11-10
    • 1970-01-01
    • 2012-03-29
    • 1970-01-01
    • 2021-10-14
    • 1970-01-01
    相关资源
    最近更新 更多