Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 调用InitiateAuth操作时发生错误(InvalidLambdaResponseException):无法识别的lambda输出_Javascript_Python_Amazon Web Services_Aws Lambda_Amazon Cognito - Fatal编程技术网

Javascript 调用InitiateAuth操作时发生错误(InvalidLambdaResponseException):无法识别的lambda输出

Javascript 调用InitiateAuth操作时发生错误(InvalidLambdaResponseException):无法识别的lambda输出,javascript,python,amazon-web-services,aws-lambda,amazon-cognito,Javascript,Python,Amazon Web Services,Aws Lambda,Amazon Cognito,我是aws开发新手,尝试使用aws cognito的自定义身份验证流、lambda触发器和aws python SDK实现无密码功能 我的问题是,在调用InitiateAuth后,我总是得到以下错误: 调用InitiateAuth操作时发生错误(InvalidLambdaResponseException):无法识别的lambda输出 完全回溯是: 回溯(最近一次呼叫最后一次): 文件“test\u custom\u auth.py”,第52行,在 ClientId=客户机\u id 文件

我是aws开发新手,尝试使用aws cognito的自定义身份验证流、lambda触发器和aws python SDK实现无密码功能

我的问题是,在调用InitiateAuth后,我总是得到以下错误:

调用InitiateAuth操作时发生错误(InvalidLambdaResponseException):无法识别的lambda输出

完全回溯是:

回溯(最近一次呼叫最后一次):
文件“test\u custom\u auth.py”,第52行,在
ClientId=客户机\u id
文件“/Users/jules/Repositories/snaaap/onemacapi/env/lib/python3.6/site packages/botocore/client.py”,第320行,在api调用中
返回self.\u make\u api\u调用(操作名称,kwargs)
文件“/Users/jules/Repositories/snaaap/onemac api/env/lib/python3.6/site packages/botocore/client.py”,第623行,在make\u api\u调用中
引发错误\u类(解析的\u响应、操作\u名称)
botocore.errorfactory.InvalidLambdaResponseException:调用InitiateAuth操作时发生错误(InvalidLambdaResponseException):无法识别的lambda输出

我可以通过cloudwatch日志看到defineAuthChallenge触发器createAuthChallenge触发器调用成功,甚至可以打印日志来验证这一点

我首先使用Javascript编写lambda函数,然后使用Python,只是为了尝试另一种方法

我尝试在python中返回以下内容(我正在使用lambda编辑器控制台进行编辑)

  • 返回事件
  • 
    结果={
    “isBase64Encoded”:False,
    “状态代码”:200,
    “标题”:{},
    “body”:json.dumps(事件)
    } 
    返回结果
    
我试图用javascript返回以下内容(我正在使用lambda编辑器控制台进行编辑)

  • context.success(事件)
  • 回调(空,事件)
  • context.done(事件)
  • context.done(JSON.stringify(事件))
和上面提到的那些排列,但我仍然不断地得到错误:(感谢任何能提供帮助的人

编辑

执行了另一个请求:

以下是来自定义挑战的日志:

启动请求ID:14441740-cc65-11e8-a632-9508cbba464c版本:$最新
结束请求ID:14441740-cc65-11e8-a632-9508cbba464c
报告请求ID:14441740-cc65-11e8-a632-9508cbba464c持续时间:6.70毫秒计费持续时间:100毫秒内存大小:128 MB最大使用内存:20 MB

以下是**createAuthChallenge**的日志:

启动请求ID:144995b6-cc65-11e8-8d2d-5388c84ccf95版本:$LATEST
结束请求ID:144995b6-cc65-11e8-8d2d-5388c84ccf95
报告请求ID:144995b6-cc65-11e8-8d2d-5388c84ccf95持续时间:592.59毫秒计费持续时间:600毫秒内存大小:128 MB最大使用内存:29 MB

将响应中的
challengeMetaData
更改为
challengeMetaData
,我将从createAuthChallenge函数返回。了解到当您在响应属性中放置无效键时,lambda将抛出
InvalidLambdaResponseException
,尽管我希望下次cloudwatch可以启动见鬼


从@thomasmichaelwallace和本文中获得了一个想法。

将响应中的
challengemtadata
更改为
challengemtadata
,我将从我的createAuthChallenge函数返回。了解到当您在响应属性中放置无效键时,lambda将抛出
InvalidLambdaResponseException
,不过我希望下次cloudwatch能捕捉到它


从@thomasmichaelwallace和这篇文章中得到了一个想法。

问题最有可能出现在您对
CreateAuthChallenge
DefineAuthChallenge
VerifyAuthChallengeResponse
lambdas的响应中。您能提供一个日志,记录您从那些lambda函数返回的内容吗?嗨@thomasmichaelwallace,谢谢!我在编辑部分提供了cloudwatch的日志。由于我还没有提交质询答案,所以还没有来自VerifyAuthChallenge的任何日志。由于上面的错误,我无法提交。我无法将会话发回。抱歉-我不够清楚-我想看看您从那些lambdas返回的JSON,例如,我期望ing
CreateAuthChallenge
返回类似以下内容:
{response:{publicChallengeParameters:{},privateChallengeParameters:{something:'else'},challengeMetadata:'meta',}
.Hi@thomasmichaelwallace,解决了它!谢谢你的提示!我正要发布一篇编辑文章,但我重新扫描了所有内容,在这里看到一篇文章,说如果响应属性中的任何键出错,lambda将返回该错误。将
challengemtata
更改为
challengemtata
。成功了。谢谢!这个问题lem最有可能出现在您对
CreateAuthChallenge
DefineAuthChallenge
VerifyAuthChallengeResponse
lambdas的响应中。您能提供一份您从这些lambda函数返回的日志吗?您好@thomasmichaelwallace,谢谢!我在编辑部分提供了cloudwatch的日志。我在这里因为我还没有提交质询答案,所以还没有收到任何来自VerifyAuthChallenge的质询答案。由于上述错误,我无法将会话发送回。抱歉-我不够清楚-我想查看您从那些lambda返回的JSON,例如,我希望
CreateAuthChallenge
返回类似以下内容:
{回复:{publicChallengeParameters:{},privateChallengeParameters:{something:'else'},challengeMetadata:'meta',}
。嗨@thomasmichaelwallace,解决了!谢谢你的提示!我是abo