在 .Net Core 3 中编写 AWS Cognito Pre-Authentication lambda 触发器时需要一些帮助。我能够在 cognito 请求中将正确的属性作为“validationData”属性的一部分传递。当验证属性不满足条件时,我需要将“UnauthorizedResponse”发送回我的前端。但是,当我尝试从我的 .net 核心处理程序返回一个错误对象时,我最终会遇到“InvalidLambdaResponse”异常。任何帮助或示例代码都将非常有用。
这是我的代码片段 -
public object FunctionHandler(JObject request, ILambdaContext context)
{
LambdaLogger.Log($"JObject: {request}");
var input = request;
var userId = input["userName"];
LambdaLogger.Log($"Calling function: {context.FunctionName}\\n");
LambdaLogger.Log($"Input userid: {userId}\\n");
string strUserId = ((Newtonsoft.Json.Linq.JValue)userId).Value.ToString();
var status = Util.FetchCognitoUser(strUserId); \\call to fetch user properties
LambdaLogger.Log($"Pre auth execution complete");
if (status)
{
return request;
}
else
{
request["response"]["statuscode"] = "400";
request["response"]["statusmessage"] = "NotAuthorizedException";
return request;
}
}