diff --git a/app/[lang]/(live)/(protected)/layout.tsx b/app/[lang]/(live)/(protected)/layout.tsx index 19ad58daf..e37122790 100644 --- a/app/[lang]/(live)/(protected)/layout.tsx +++ b/app/[lang]/(live)/(protected)/layout.tsx @@ -28,8 +28,37 @@ export default async function ProtectedLayout({ } const user = await serverClient().user.get() - if (!user || "error" in user) { - console.log(`[layout:protected] no user, redirecting to: ${redirectURL}`) + + if (user && "error" in user) { + // redirect(redirectURL) + console.error("[layout:protected] error in user", user) + console.error( + "[layout:protected] full user: ", + JSON.stringify(user, null, 4) + ) + switch (user.cause) { + case "unauthorized": // fall through + case "forbidden": // fall through + case "token_expired": + console.error( + `[layout:protected] user error, redirecting to: ${redirectURL}` + ) + redirect(redirectURL) + case "notfound": + console.error(`[layout:protected] notfound user loading error`) + case "unknown": + console.error(`[layout:protected] unknown user loading error`) + default: + console.error(`[layout:protected] unhandled user loading error`) + } + return
Something went wrong!
+ } + + if (!user) { + console.error( + "[layout:protected] no user found, redirecting to: ", + redirectURL + ) redirect(redirectURL) }