AWS Lambda函数context.identity.cognito_identity_id返回null



对于一个web应用程序,我正在制作一个由api网关触发的AWS Lambda函数。我有一个链接到cognito用户池的api网关,所以你需要在触发函数之前登录。";选项";部件没有启用授权;张贴";方法将cognito用户池作为授权人。当我按下前端的一个按钮来触发它时,该功能就会正确运行。我的问题是context.identity.cognito_identity_id总是返回一个null值,而不是预期的子uuid。我不知道为什么;使用调用方凭据调用";但当我把鼠标移到复选框上时,复选框显示我无法启用它。这是我当前的lambda函数:

import json
def lambda_handler(event, context):
UniqueUser = context.identity.cognito_identity_id
if not UniqueUser:
UniqueUser = "fail"

return {
'statusCode': 200,
'headers': {
'Access-Control-Allow-Origin': '*'
},
'body': json.dumps('Hello from Lambda ' + UniqueUser + "!")
};

如何使context.identity.cognito_identity_id(或类似的东西(返回我认为应该返回的用户uuid?

看起来sub和/或emailevent['requestContext']['authorizer']['claims']

最新更新