4

我的问题更符合使用 Amazon Cognito 设计 webhook 架构。在浏览了 hasura 关于 webhook auth 的文档后,我提出了以下设计。可行吗?注意:AWS lambda 位于启用授权的 API 网关之后。

在此处输入图像描述

现在,

  • 您不认为应用程序进行身份验证的开销以及每个请求的 hasura 开销吗?
  • 这可以在 hasura 和 cognito 之间没有 lambda 的情况下实现吗?
  • hasura 是否可以基于用户凭据向应用程序和 webhook 提供身份验证以在 Cognito 中进行验证?

感谢您的反馈。

4

1 回答 1

3

我和你有同样的问题。在尝试了很多方法后,我认为使用 Hasura JWT 模式是一个很好的方法,并且不需要任何复杂的配置就可以很好地工作。看看这个流程:

  1. React App 从 Cognito 请求令牌
  2. Cognito 触发 PreTokenGeneration 以添加 Hasura 声明
  3. React AppidToken从 Cognito 获取(带有 Hasura 声明)

我认为将身份验证和数据分开会更好。

注意:Cognito 不支持声明值的 dict 类型。所以你应该claims_format: 'stringified_json'在 Hasura jwt-secret 中设置。你可以看看这个问题:https ://github.com/hasura/graphql-engine/issues/1176

仅供参考:* https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html * https://docs.hasura.io/1.0/graphql/manual /auth/jwt.html#

于 2019-03-01T18:42:02.063 回答