AppSync与用户池中的第三方应用程序令牌

时间:2019-07-10 03:30:53

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

在对Using multiple authorization types with AWS AppSync GraphQL APIsThe Complete Guide to User Authentication with the Amplify Framework 进行一些阅读之后,我不知道的一件事是我是否可以拥有第三方应用程序令牌(例如Twitter API)并使用AppSync + Cognito生成用于服务到服务的变异/查询?

我已经通过Cognito获得了用户流(类型为AMAZON_COGNITO_USER_POOLS)。我想使用AppSync集中服务到服务的呼叫。限制服务/令牌访问也将很棒(仅限X Mutations,而不是整个模式)。那有可能吗?

我对当前的限制感到迷茫。

  • 我是否需要Cognito中的自定义授权人?
  • 我应该将所有内容移到IAM凭据吗?
  • 具有手动凭据检查和AppSync调用的Lambda解析器?
  • 我做不到,我需要将这些令牌存储在其他位置(DynamoDB等),并使用元数据/某些ID来具有某种身份,并始终使用Lambda解析器等。
思想和见解非常受欢迎, 谢谢!

1 个答案:

答案 0 :(得分:0)

截止到今天,AppSync does support 4 types of user authentication

  • API密钥(不进行身份验证)
  • IAM凭证
  • OpenID令牌
  • 认知用户池令牌

也有a request to add custom lambda authorisers,但迄今为止尚未宣布任何内容。

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

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