Skip to content

Commit 28e0055

Browse files
committed
CCM-8744: update route logic
1 parent 1307151 commit 28e0055

File tree

1 file changed

+19
-8
lines changed

1 file changed

+19
-8
lines changed

frontend/src/app/auth/signin/route.dev.ts

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,26 +6,37 @@ import { generateSessionCsrfToken } from '@utils/csrf-utils';
66
import { NextRequest, NextResponse } from 'next/server';
77

88
export const GET = async (request: NextRequest) => {
9-
const url = request.nextUrl.clone();
10-
119
const sessionId = await getSessionId();
1210
const cookieStore = await cookies();
1311

12+
let redirectPath =
13+
`/${request.nextUrl.searchParams.get('redirect') ?? '/templates/manage-templates'}`.replace(
14+
/^\/+/,
15+
'/'
16+
);
17+
1418
if (sessionId) {
1519
const csrfToken = await generateSessionCsrfToken(sessionId);
1620

1721
cookieStore.set('csrf_token', csrfToken, {
1822
sameSite: 'strict',
1923
secure: true,
2024
});
21-
22-
const redirectPath = request.nextUrl.searchParams.get('redirect') ?? '/';
23-
url.pathname = redirectPath;
24-
url.searchParams.delete('redirect');
2525
} else {
26-
url.pathname = '/auth';
2726
cookieStore.delete('csrf_token');
27+
redirectPath = '/auth';
28+
29+
const redirectParam = request.nextUrl.searchParams.get('redirect');
30+
31+
if (redirectParam) {
32+
redirectPath += `?redirect=${encodeURIComponent(redirectParam)}`;
33+
}
2834
}
2935

30-
return NextResponse.redirect(url);
36+
return NextResponse.json(null, {
37+
status: 307,
38+
headers: {
39+
Location: redirectPath,
40+
},
41+
});
3142
};

0 commit comments

Comments
 (0)