From eff9dbb5ee67bb4d3e1bd032395f3bc9dc55d4b6 Mon Sep 17 00:00:00 2001 From: Michcio Date: Sun, 25 Sep 2022 17:21:30 +0200 Subject: [PATCH] Reassure typechecker about token in authenticate --- packages/backend/src/server/api/authenticate.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/backend/src/server/api/authenticate.ts b/packages/backend/src/server/api/authenticate.ts index a1a1d1a4f..89cbb4f9c 100644 --- a/packages/backend/src/server/api/authenticate.ts +++ b/packages/backend/src/server/api/authenticate.ts @@ -16,7 +16,7 @@ export class AuthenticationError extends Error { } export default async (authorization: string | null | undefined, bodyToken: string | null | undefined): Promise<[CacheableLocalUser | null | undefined, AccessToken | null | undefined]> => { - let token: string | null = null; + let maybeToken: string | null = null; // check if there is an authorization header set if (authorization != null) { @@ -27,15 +27,16 @@ export default async (authorization: string | null | undefined, bodyToken: strin // check if OAuth 2.0 Bearer tokens are being used // Authorization schemes are case insensitive if (authorization.substring(0, 7).toLowerCase() === 'bearer ') { - token = authorization.substring(7); + maybeToken = authorization.substring(7); } else { throw new AuthenticationError('unsupported authentication scheme'); } } else if (bodyToken != null) { - token = bodyToken; + maybeToken = bodyToken; } else { return [null, null]; } + const token: string = maybeToken; if (isNativeToken(token)) { const user = await localUserByNativeTokenCache.fetch(token,