From 8d61bde74cdfb37410a5c1952ca608e815eeb1cf Mon Sep 17 00:00:00 2001 From: Adam Mills Date: Fri, 7 Jan 2022 03:01:37 +1100 Subject: [PATCH] fix: Handle custom authorizer 401 in non in-process runners (#1319) Co-authored-by: Romulo Campos <56273783+romulocrj@users.noreply.github.com> --- src/events/http/createAuthScheme.js | 2 +- .../handler-runner/in-process-runner/InProcessRunner.js | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/events/http/createAuthScheme.js b/src/events/http/createAuthScheme.js index 23a1f3c5b..761f33510 100644 --- a/src/events/http/createAuthScheme.js +++ b/src/events/http/createAuthScheme.js @@ -125,7 +125,7 @@ export default function createAuthScheme( try { const result = await lambdaFunction.runHandler() - + if (result === 'Unauthorized') return Boom.unauthorized('Unauthorized') // return processResponse(null, result) const policy = result diff --git a/src/lambda/handler-runner/in-process-runner/InProcessRunner.js b/src/lambda/handler-runner/in-process-runner/InProcessRunner.js index 9bcd556f8..2ba503ee3 100644 --- a/src/lambda/handler-runner/in-process-runner/InProcessRunner.js +++ b/src/lambda/handler-runner/in-process-runner/InProcessRunner.js @@ -115,8 +115,13 @@ export default class InProcessRunner { const callbackCalled = new Promise((resolve, reject) => { callback = (err, data) => { + if (err === 'Unauthorized') { + resolve('Unauthorized') + return + } if (err) { reject(err) + return } resolve(data) }