Oops, fix bug on boot caused by login changes

I forgot that we sometimes use the Apollo server in a context where `req` and `res` aren't present! (namely in our `build-cached-data` script.)

In this change, we update the DTI-Auth-Mode HTTP header check to be cognizant that the request might be absent!
This commit is contained in:
Emi Matchu 2022-08-17 16:15:09 -07:00
parent f7f6f7b82b
commit 5bf037b193

View file

@ -67,10 +67,10 @@ const config = {
context: async ({ req, res }) => { context: async ({ req, res }) => {
const db = await connectToDb(); const db = await connectToDb();
let authMode = req.headers["dti-auth-mode"] || "auth0"; let authMode = req?.headers?.["dti-auth-mode"] || "auth0";
let currentUserId; let currentUserId;
if (authMode === "auth0") { if (authMode === "auth0") {
const auth = (req && req.headers && req.headers.authorization) || ""; const auth = req?.headers?.authorization || "";
const authMatch = auth.match(/^Bearer (.+)$/); const authMatch = auth.match(/^Bearer (.+)$/);
const token = authMatch && authMatch[1]; const token = authMatch && authMatch[1];
currentUserId = await getUserIdFromTokenViaAuth0(token); currentUserId = await getUserIdFromTokenViaAuth0(token);