fix(handshake): evitar redirect para localhost quando em produção

This commit is contained in:
esdrasrenan 2025-12-09 01:13:36 -03:00
parent a7d9803c97
commit daba03d25d

View file

@ -46,7 +46,14 @@ export async function GET(request: NextRequest) {
const derivedOrigin = hostHeader const derivedOrigin = hostHeader
? `${forwardedProto ?? schemeFromUrl ?? "https"}://${hostHeader}` ? `${forwardedProto ?? schemeFromUrl ?? "https"}://${hostHeader}`
: null : null
const baseOrigin = env.NEXT_PUBLIC_APP_URL ?? derivedOrigin ?? request.nextUrl.origin const configuredAppUrl = env.NEXT_PUBLIC_APP_URL?.trim()
const isLocalHost =
configuredAppUrl &&
(configuredAppUrl.includes("localhost") || configuredAppUrl.includes("127.0.0.1"))
// Se a APP_URL configurada é localhost, usar o host real do request para evitar redirecionar para 127.0.0.1 em produção.
const baseOrigin =
(!configuredAppUrl || isLocalHost) ? derivedOrigin ?? request.nextUrl.origin : configuredAppUrl
const redirectUrl = new URL(redirectParam, baseOrigin) const redirectUrl = new URL(redirectParam, baseOrigin)
try { try {