如何从 AWS Amplify 中的 Lambda 解析器(GraphQL api 和 NodeJS Lambda)获取当前用户?

问题描述 投票:0回答:2

我有一个 graphql Api 并添加了一个 lambda 函数来解决突变。

type Mutation {
  addTeamMember(email: String!, teamId:ID!): String @function(name: "add-team-member-${env}")
}

我想从 lambda 中检索发送请求的经过身份验证的用户以执行其他验证,¿如何从请求信息中检索它?

强文字

aws-lambda aws-amplify
2个回答
4
投票

我打印了第一个lambda参数的内容,发现了它:

通过以下方式访问它:

event.identity.username

0
投票

要在 lambda 解析器中访问

event.identity
,我们需要配置如下请求映射模板。

{
  "version" : "2017-02-28",
  "operation": "Invoke",
  "payload": {
        "args": $utils.toJson($context.args),
        "identity":  $utils.toJson($context.identity)
    }
}

注意: 如果您使用 API_KEY 授权,则不会填充身份字段。

参考资料: https://docs.aws.amazon.com/appsync/latest/devguide/resolver-context-reference.html

https://docs.aws.amazon.com/appsync/latest/devguide/resolver-context-reference.html#aws-appsync-resolver-context-reference-identity

© www.soinside.com 2019 - 2024. All rights reserved.