我的问题更多是与使用Amazon Cognito设计Webhook架构有关。在浏览了关于webhook auth的hasura的文档后,我想到了以下设计。可行吗注意:AWS lambda在启用了授权的API网关后面。
现在,
您是否不认为应用程序进行身份验证的开销以及每个请求的hasura开销?
如果在hasura和cognito之间没有lambda,是否可以实现?
Hasura可以基于用户凭据向应用程序和Webhook提供身份验证以在Cognito中进行验证吗?
感谢您的反馈。
最佳答案
我和你有同样的问题。在尝试了许多方法之后,我认为使用Hasura JWT模式是一个好方法,并且无需任何复杂的配置即可很好地工作。看一下以下流程:
React App向Cognito请求令牌
Cognito触发PreTokenGeneration添加Hasura声明
React App从Cognito获得idToken
(具有Hasura声明)
我认为将auth和数据分开会更好。
注意:
Cognito不支持声明值的dict类型。因此,您应该在Hasura jwt-secret中设置claims_format: 'stringified_json'
。您可以看一下这个问题: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#