mirror of
https://github.com/zitadel/zitadel.git
synced 2025-08-11 20:37:30 +00:00
override relative url
This commit is contained in:
@@ -217,7 +217,7 @@ export async function GET(request: NextRequest) {
|
|||||||
params.set("organization", organization);
|
params.set("organization", organization);
|
||||||
}
|
}
|
||||||
|
|
||||||
const url = await startIdentityProviderFlow({
|
let url: string | null = await startIdentityProviderFlow({
|
||||||
serviceUrl,
|
serviceUrl,
|
||||||
idpId,
|
idpId,
|
||||||
urls: {
|
urls: {
|
||||||
@@ -237,9 +237,12 @@ export async function GET(request: NextRequest) {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
const absoluteUrl = constructUrl(request, url);
|
if (url.startsWith("/")) {
|
||||||
|
// if the url is a relative path, construct the absolute url
|
||||||
|
url = constructUrl(request, url).toString();
|
||||||
|
}
|
||||||
|
|
||||||
return NextResponse.redirect(absoluteUrl);
|
return NextResponse.redirect(url);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -985,16 +985,18 @@ export async function startIdentityProviderFlow({
|
|||||||
return resp.nextStep.value;
|
return resp.nextStep.value;
|
||||||
} else if (resp.nextStep.case === "formData" && resp.nextStep.value) {
|
} else if (resp.nextStep.case === "formData" && resp.nextStep.value) {
|
||||||
const formData: FormData = resp.nextStep.value;
|
const formData: FormData = resp.nextStep.value;
|
||||||
const redirectUrl = new URL("/saml-post");
|
const redirectUrl = "/saml-post";
|
||||||
|
|
||||||
|
const params = new URLSearchParams({ url: formData.url });
|
||||||
|
|
||||||
redirectUrl.searchParams.set("url", formData.url);
|
|
||||||
Object.entries(formData.fields).forEach(([k, v]) => {
|
Object.entries(formData.fields).forEach(([k, v]) => {
|
||||||
redirectUrl.searchParams.set(k, v);
|
params.append(k, v);
|
||||||
});
|
});
|
||||||
|
|
||||||
return redirectUrl.toString();
|
return `${redirectUrl}?${params.toString()}`;
|
||||||
|
} else {
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
return null;
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user