在 Lamba 中检索已知用户 ID
Retrieving cognito user ID in Lamba
我正在为我的认知池上的 pre-sign up 触发器编写一个 lambda 函数。
我想在用户注册时将用户详细信息复制到 mongodb。
因此,我需要访问 context.authorizer.claims.sub
,用户的 Cognito ID。
到目前为止,我已经创建了一个授权者:
还有一个 ANY 方法。
阅读此文档后,我似乎需要在 body 映射模板中添加 context.authorizer.claims.sub。
但是,在集成请求中似乎没有添加 body 映射模板的选项
可能有更好的方法来访问用户的 Cognito ID,但这似乎应该有效。
编辑
我的 Lambda 配置
console.log(context)
2021-05-13T13:02:56.188Z 75c67d1e-0f2e-49c5-be2f-d19affb2dd2b INFO {
callbackWaitsForEmptyEventLoop: [Getter/Setter],
succeed: [Function (anonymous)],
fail: [Function (anonymous)],
done: [Function (anonymous)],
functionVersion: '$LATEST',
functionName: 'AuthUtils',
memoryLimitInMB: '128',
logGroupName: '/aws/lambda/AuthUtils',
logStreamName: '2021/05/13/[$LATEST]920d08ed47584c16abd89ffd5c6c12da',
clientContext: undefined,
identity: undefined,
invokedFunctionArn: 'arn:aws:lambda:eu-west-2:022228979186:function:AuthUtils',
awsRequestId: '75c67d1e-0f2e-49c5-be2f-d19affb2dd2b',
getRemainingTimeInMillis: [Function: getRemainingTimeInMillis]
}
您不能将集成请求映射添加到 lambda 代理集成。您可以在处理程序中以 event.requestContext
的形式访问请求上下文。
子值可以访问为event.requestContext.authorizer.claims.sub
我正在为我的认知池上的 pre-sign up 触发器编写一个 lambda 函数。
我想在用户注册时将用户详细信息复制到 mongodb。
因此,我需要访问 context.authorizer.claims.sub
,用户的 Cognito ID。
到目前为止,我已经创建了一个授权者:
还有一个 ANY 方法。
阅读此文档后,我似乎需要在 body 映射模板中添加 context.authorizer.claims.sub。
但是,在集成请求中似乎没有添加 body 映射模板的选项
可能有更好的方法来访问用户的 Cognito ID,但这似乎应该有效。
编辑
我的 Lambda 配置
console.log(context)
2021-05-13T13:02:56.188Z 75c67d1e-0f2e-49c5-be2f-d19affb2dd2b INFO {
callbackWaitsForEmptyEventLoop: [Getter/Setter],
succeed: [Function (anonymous)],
fail: [Function (anonymous)],
done: [Function (anonymous)],
functionVersion: '$LATEST',
functionName: 'AuthUtils',
memoryLimitInMB: '128',
logGroupName: '/aws/lambda/AuthUtils',
logStreamName: '2021/05/13/[$LATEST]920d08ed47584c16abd89ffd5c6c12da',
clientContext: undefined,
identity: undefined,
invokedFunctionArn: 'arn:aws:lambda:eu-west-2:022228979186:function:AuthUtils',
awsRequestId: '75c67d1e-0f2e-49c5-be2f-d19affb2dd2b',
getRemainingTimeInMillis: [Function: getRemainingTimeInMillis]
}
您不能将集成请求映射添加到 lambda 代理集成。您可以在处理程序中以 event.requestContext
的形式访问请求上下文。
子值可以访问为event.requestContext.authorizer.claims.sub