fix: derivar origem do handshake usando host

This commit is contained in:
Esdras Renan 2025-10-10 22:41:32 -03:00
parent 1577d1e0da
commit ee6e32ca79

View file

@ -38,9 +38,12 @@ export async function GET(request: NextRequest) {
const redirectParam = request.nextUrl.searchParams.get("redirect") ?? "/" const redirectParam = request.nextUrl.searchParams.get("redirect") ?? "/"
const forwardedProto = request.headers.get("x-forwarded-proto") const forwardedProto = request.headers.get("x-forwarded-proto")
const forwardedHost = request.headers.get("x-forwarded-host") ?? request.headers.get("host") const hostHeader = request.headers.get("x-forwarded-host") ?? request.headers.get("host")
const forwardedOrigin = forwardedProto && forwardedHost ? `${forwardedProto}://${forwardedHost}` : null const schemeFromUrl = request.nextUrl.protocol.replace(/:$/, "") || undefined
const baseOrigin = env.NEXT_PUBLIC_APP_URL ?? forwardedOrigin ?? request.nextUrl.origin const derivedOrigin = hostHeader
? `${forwardedProto ?? schemeFromUrl ?? "https"}://${hostHeader}`
: null
const baseOrigin = env.NEXT_PUBLIC_APP_URL ?? derivedOrigin ?? request.nextUrl.origin
const redirectUrl = new URL(redirectParam, baseOrigin) const redirectUrl = new URL(redirectParam, baseOrigin)
try { try {