Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions apps/web/src/app/api/auth/set-session/route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,14 @@ export async function POST(request: NextRequest) {
refresh_token: refreshToken,
});

// TEMP DIAG: remove after magic-link bounce bug is resolved
console.log(
'[auth/set-session] setSession',
error ? `error: ${error.message}` : 'ok',
'response cookies:',
response.cookies.getAll().map((c) => c.name),
);

if (error) {
console.error('[auth/set-session] setSession failed:', error.message);
// Return a fresh NextResponse — not `response` — to avoid leaking any
Expand Down
16 changes: 16 additions & 0 deletions apps/web/src/app/auth/callback/route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,15 @@ export async function GET(request: NextRequest) {
setAll(
cookiesToSet: { name: string; value: string; options: CookieOptions }[],
) {
// TEMP DIAG: remove after magic-link bounce bug is resolved
console.log(
'[auth/callback] setAll',
cookiesToSet.map((c) => ({
name: c.name,
len: c.value.length,
options: c.options,
})),
);
cookiesToSet.forEach(({ name, value }) =>
request.cookies.set(name, value),
);
Expand Down Expand Up @@ -185,5 +194,12 @@ export async function GET(request: NextRequest) {
}
}

// TEMP DIAG: remove after magic-link bounce bug is resolved
console.log(
'[auth/callback] returning redirect',
redirectUrl.toString(),
'cookies:',
response.cookies.getAll().map((c) => c.name),
);
return response;
}
16 changes: 15 additions & 1 deletion apps/web/src/middleware.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,21 @@ export async function middleware(request: NextRequest) {
);

// Refresh session (do not remove this line)
const { data: { user } } = await supabase.auth.getUser();
const { data: { user }, error } = await supabase.auth.getUser();

// TEMP DIAG: remove after magic-link bounce bug is resolved.
// Surfaces which sb-* cookies arrived and whether getUser rejected them.
const sbCookies = request.cookies
.getAll()
.filter((c) => c.name.startsWith('sb-'))
.map((c) => ({ name: c.name, len: c.value.length }));
console.log(
'[middleware]',
request.nextUrl.pathname,
'sbCookies:', sbCookies,
'user:', user?.id ?? null,
'error:', error?.message ?? null,
);

// Redirect unauthenticated users from protected routes to login
const pathname = request.nextUrl.pathname;
Expand Down