Нужна помощь с написанием лямбда-триггера AWS Cognito Pre-Authentication в .Net Core 3. Я могу передать правильные атрибуты как часть атрибута «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;
}
}