History

pass through

Rhys Sullivan committed 9 months ago

Commit 541ce7f1 parent 51a13861 file · +22 −1Browse files

Unified · Split

executor/apps/web/src/app/sign-up/route.ts+22−1
@@ -21,6 +21,26 @@ function readOptionalQueryParam(request: NextRequest, keys: string[]): string | · 20 unmodified lines
2121 return undefined;
2222 }
2323
24+const AUTHKIT_PASSTHROUGH_QUERY_KEYS = [
25+ "authorization_session_id",
26+ "redirect_uri",
27+ "state",
28+];
29+
30+function appendAuthkitPassthroughQueryParams(request: NextRequest, authorizationUrl: string): string {
31+ const nextUrl = new URL(authorizationUrl);
32+
33+ for (const key of AUTHKIT_PASSTHROUGH_QUERY_KEYS) {
34+ const value = request.nextUrl.searchParams.get(key);
35+ if (!value || value.trim().length === 0) {
36+ continue;
37+ }
38+ nextUrl.searchParams.set(key, value.trim());
39+ }
40+
41+ return nextUrl.toString();
42+}
43+
2444 const convexUrl = process.env.NEXT_PUBLIC_CONVEX_URL ?? process.env.CONVEX_URL;
2545 const convexClient = convexUrl ? new ConvexHttpClient(convexUrl) : null;
2646
@@ -65,10 +85,11 @@ export async function GET(request: NextRequest) { · 38 unmodified lines
6585 const loginHint = readOptionalQueryParam(request, ["loginHint", "login_hint", "email"]);
6686
6787 const { getSignUpUrl } = await import("@workos-inc/authkit-nextjs");
68− const authorizationUrl = await getSignUpUrl({
88+ const baseAuthorizationUrl = await getSignUpUrl({
6989 redirectUri,
7090 organizationId,
7191 loginHint,
7292 });
93+ const authorizationUrl = appendAuthkitPassthroughQueryParams(request, baseAuthorizationUrl);
7394 return redirect(authorizationUrl);
7495 }