From 81760b87cd9ce2352a1b10679ec3772a40a55a6f Mon Sep 17 00:00:00 2001 From: Stan Wohlwend Date: Tue, 5 Mar 2024 17:36:57 +0100 Subject: [PATCH] stack: Redirect to home on "Invalid API key" hack --- packages/stack-server/src/lib/projects.tsx | 6 +++--- packages/stack-shared/src/interface/clientInterface.ts | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/stack-server/src/lib/projects.tsx b/packages/stack-server/src/lib/projects.tsx index d62e01841..d3ad70a02 100644 --- a/packages/stack-server/src/lib/projects.tsx +++ b/packages/stack-server/src/lib/projects.tsx @@ -165,7 +165,7 @@ export async function createProject( config: { create: { allowLocalhost: projectOptions.allowLocalhost, - credentialEnabled: projectOptions.credentialEnabled, + enableCredential: projectOptions.credentialEnabled, oauthProviderConfigs: { create: (['github', 'facebook', 'google', 'microsoft'] as const).map((id) => ({ id, @@ -311,7 +311,7 @@ export async function updateProject( // Update credentialEnabled transaction.push(prismaClient.projectConfig.update({ where: { id: project.config.id }, - data: { credentialEnabled: options.config.credentialEnabled }, + data: { enableCredential: options.config.credentialEnabled }, })); } @@ -370,7 +370,7 @@ function projectJsonFromDbType(project: ProjectDB): ProjectJson { evaluatedConfig: { id: project.config.id, allowLocalhost: project.config.allowLocalhost, - credentialEnabled: project.config.credentialEnabled, + credentialEnabled: project.config.enableCredential, domains: project.config.domains.map((domain) => ({ domain: domain.domain, handlerPath: domain.handlerPath, diff --git a/packages/stack-shared/src/interface/clientInterface.ts b/packages/stack-shared/src/interface/clientInterface.ts index 0616b7c5d..efe46d48b 100644 --- a/packages/stack-shared/src/interface/clientInterface.ts +++ b/packages/stack-shared/src/interface/clientInterface.ts @@ -276,7 +276,8 @@ export class StackClientInterface { // TODO this is a hack. Occurs when the admin access token is invalid, or expired. Has plenty of weird side effects so we should replace this if ("internalAdminAccessToken" in this.options && error?.message?.includes?.("Invalid API key") && typeof window !== "undefined") { alert("Your session has expired. The page will now reload." + (process.env.NODE_ENV == "development" ? "\n\nThis is a hack and we should probably fix this at some point." : "")); - window.location.reload(); + window.location.href = "/"; + document.body.innerHTML = "Reloading..."; await neverResolve(); }