mirror of
https://github.com/zitadel/zitadel.git
synced 2025-08-12 09:57:33 +00:00
post form
This commit is contained in:
@@ -25,6 +25,7 @@ import {
|
|||||||
import { CreateResponseRequestSchema } from "@zitadel/proto/zitadel/saml/v2/saml_service_pb";
|
import { CreateResponseRequestSchema } from "@zitadel/proto/zitadel/saml/v2/saml_service_pb";
|
||||||
import { Session } from "@zitadel/proto/zitadel/session/v2/session_pb";
|
import { Session } from "@zitadel/proto/zitadel/session/v2/session_pb";
|
||||||
import { IdentityProviderType } from "@zitadel/proto/zitadel/settings/v2/login_settings_pb";
|
import { IdentityProviderType } from "@zitadel/proto/zitadel/settings/v2/login_settings_pb";
|
||||||
|
import { FormData } from "@zitadel/proto/zitadel/user/v2/idp_pb";
|
||||||
import { headers } from "next/headers";
|
import { headers } from "next/headers";
|
||||||
import { NextRequest, NextResponse } from "next/server";
|
import { NextRequest, NextResponse } from "next/server";
|
||||||
import { DEFAULT_CSP } from "../../../constants/csp";
|
import { DEFAULT_CSP } from "../../../constants/csp";
|
||||||
@@ -232,19 +233,17 @@ export async function GET(request: NextRequest) {
|
|||||||
if (resp.nextStep.case === "authUrl" && resp.nextStep.value) {
|
if (resp.nextStep.case === "authUrl" && resp.nextStep.value) {
|
||||||
return NextResponse.redirect(resp.nextStep.value);
|
return NextResponse.redirect(resp.nextStep.value);
|
||||||
} else if (
|
} else if (
|
||||||
resp.nextStep.case === "postForm" &&
|
resp.nextStep.case === "formData" &&
|
||||||
resp.nextStep.value
|
resp.nextStep.value
|
||||||
) {
|
) {
|
||||||
const postCall = resp.nextStep.value;
|
const formData: FormData = resp.nextStep.value;
|
||||||
|
|
||||||
const redirectUrl = constructUrl(request, "/saml-post");
|
const redirectUrl = constructUrl(request, "/saml-post");
|
||||||
|
|
||||||
redirectUrl.searchParams.set("url", url);
|
redirectUrl.searchParams.set("url", formData.url);
|
||||||
redirectUrl.searchParams.set("RelayState", postCall.relayState);
|
Object.entries(formData.fields).forEach(([k, v]) => {
|
||||||
redirectUrl.searchParams.set(
|
redirectUrl.searchParams.set(k, v);
|
||||||
"SAMLResponse",
|
});
|
||||||
postCall.samlResponse,
|
|
||||||
);
|
|
||||||
|
|
||||||
return NextResponse.redirect(redirectUrl.toString());
|
return NextResponse.redirect(redirectUrl.toString());
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user