fix: use forwarded host for auth redirects
Some checks failed
CI - Production Readiness / Verify (push) Has been cancelled
Some checks failed
CI - Production Readiness / Verify (push) Has been cancelled
This commit is contained in:
19
lib/request-url.ts
Normal file
19
lib/request-url.ts
Normal file
@ -0,0 +1,19 @@
|
||||
import { NextRequest } from "next/server";
|
||||
|
||||
export function getRequestBaseUrl(request: NextRequest) {
|
||||
const configured = process.env.APP_URL?.trim();
|
||||
if (configured) {
|
||||
return new URL(configured);
|
||||
}
|
||||
|
||||
const forwardedHost = request.headers.get("x-forwarded-host");
|
||||
const forwardedProto = request.headers.get("x-forwarded-proto");
|
||||
const host = forwardedHost?.split(",")[0]?.trim() || request.headers.get("host") || request.nextUrl.host;
|
||||
const proto = (forwardedProto?.split(",")[0]?.trim() || request.nextUrl.protocol || "http").replace(":", "");
|
||||
|
||||
if (!host) {
|
||||
return request.nextUrl;
|
||||
}
|
||||
|
||||
return new URL(`${proto}://${host}`);
|
||||
}
|
||||
Reference in New Issue
Block a user