From 7a83345428686977e2322f2a435800aaf2168aa5 Mon Sep 17 00:00:00 2001 From: Max Peintner Date: Wed, 5 Feb 2025 11:33:21 +0100 Subject: [PATCH] saml req --- apps/login/src/app/login/route.ts | 8 ++++++++ apps/login/src/lib/zitadel.ts | 20 ++++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/apps/login/src/app/login/route.ts b/apps/login/src/app/login/route.ts index 4150eab3..ce82eab6 100644 --- a/apps/login/src/app/login/route.ts +++ b/apps/login/src/app/login/route.ts @@ -10,6 +10,7 @@ import { getActiveIdentityProviders, getAuthRequest, getOrgsByDomain, + getSAMLRequest, listSessions, startIdentityProviderFlow, } from "@/lib/zitadel"; @@ -432,6 +433,13 @@ export async function GET(request: NextRequest) { } } else if (requestId && requestId.startsWith("saml_")) { // handle saml request + const { samlRequest } = await getSAMLRequest({ + serviceUrl, + serviceRegion, + samlRequestId: requestId.replace("saml_", ""), + }); + + samlRequest?. } else { return NextResponse.json( { error: "No authRequest nor samlRequest provided" }, diff --git a/apps/login/src/lib/zitadel.ts b/apps/login/src/lib/zitadel.ts index ec628b81..72fd015f 100644 --- a/apps/login/src/lib/zitadel.ts +++ b/apps/login/src/lib/zitadel.ts @@ -1034,6 +1034,26 @@ export async function createCallback({ return oidcService.createCallback(req); } +export async function getSAMLRequest({ + serviceUrl, + serviceRegion, + samlRequestId, +}: { + serviceUrl: string; + serviceRegion: string; + samlRequestId: string; +}) { + const samlService = await createServiceForHost( + SAMLService, + serviceUrl, + serviceRegion, + ); + + return samlService.getSAMLRequest({ + samlRequestId, + }); +} + export async function createResponse({ serviceUrl, serviceRegion,