【发布时间】:2019-03-27 15:45:29
【问题描述】:
嗨,我正在 Cognito 用户池上实现自定义身份验证流程。我设法处理了Define-和CreateAuthChallenge-triggers,但没有处理VerifyAuthChallenge。
我将此文档用作指南:Verify Auth Challenge Response Lambda Trigger
我采用 verify-lambda 输入并将 answerCorrect = true 添加到响应中,如文档中所述。 Define- 和 CreateChallenge-parts 使用给定的信息按预期工作。验证挑战答案,我得到InvalidLambdaResponseException: Unrecognizable lambda output 作为回复。 verify-lambda 存在成功,返回这个对象:
{
"version": 1,
"triggerSource": "VerifyAuthChallengeResponse_Authentication",
"region": "eu-central-1",
"userPoolId": "eu-central-1_XXXXXXXXX",
"callerContext": {
"awsSdkVersion": "aws-sdk-dotnet-coreclr-3.3.12.7",
"clientId": "2490gqsa3gXXXXXXXXXXXXXXXX"
},
"request": {
"challengeAnswer": "{\"DeviceSub\":\"TestSub\"}",
"privateChallengeParameters": {
"CUSTOM_CHALLENGE": "SessionService_SendDevice"
},
"userAttributes": {
"sub": "8624237e-0be8-425e-a2cb-XXXXXXXXXXXX",
"email_verified": "true",
"cognito:user_status": "CONFIRMED",
"email": "X.XXXXXXXX@XXXXXXXXXX.de"
}
},
"response": {
"answerCorrect": true
},
"userName": "8624237e-0be8-425e-a2cb-XXXXXXXXXXXX"
}
之前,我遇到了一个问题,“challengeAnswer”部分在文档中被描述为字典,但它实际上只是一个字符串,包含字典为 json。可悲的是,我无法在任何地方找到任何关于返回的对象为什么不被 Cognito 接受的信息。
显然有人和我有同样的问题,使用 JavaScript:GitHub link
谁能告诉我,响应对象应该是什么样子才能被 Cognito 接受?谢谢。
【问题讨论】:
标签: amazon-web-services .net-core aws-lambda amazon-cognito