我正在使用aws cognito进行用户身份验证,但希望使用dynamodb用户表来存储cognito并非设计用于的应用程序特定的用户属性。
我想通过唯一的ID将cognito和dynamobd链接在一起。 一旦确认用户(使用预注册触发器完成),Cognito会将“ sub”值设置为唯一ID,但是我不确定如何在后确认lambda触发器中捕获此值以添加到dynamobd。 它似乎仅在Auth令牌有效负载中提供。 我最好在我的帖子确认lambda触发器中请求auth令牌吗? 我不确定是否可以使用Python完成此操作。我对此很陌生。
我想一口气做的是:
谢谢。
答案 0 :(得分:0)
根据this answer,后确认lambda的事件对象将如下所示:
{
"version": "1",
"region": "eu-central-1",
"userPoolId": "eu-central-1_45YtlkflA",
"userName": "user4",
"callerContext": {
"awsSdkVersion": "aws-sdk-java-console",
"clientId": "4736lckau64in48dku3rta0eqa"
},
"triggerSource": "PostConfirmation_ConfirmSignUp",
"request": {
"userAttributes": {
"sub": "a2c21839-f9fc-49e3-be9a-16f5823d6705",
"cognito:user_status": "CONFIRMED",
"email_verified": "true",
"email": "asdfsdfsgdfg@carbtc.net"
}
},
"response": {}
}
看来您应该能够从sub
抢夺request.userAttributes
。 userName
可能是另一个不错的选择。