diff --git a/apps/login/src/app/(login)/signedin/page.tsx b/apps/login/src/app/(login)/signedin/page.tsx index c54208957e3..dfe44f12aa2 100644 --- a/apps/login/src/app/(login)/signedin/page.tsx +++ b/apps/login/src/app/(login)/signedin/page.tsx @@ -1,20 +1,30 @@ import { createCallback, getBrandingSettings, getSession } from "@/lib/zitadel"; import DynamicTheme from "@/ui/DynamicTheme"; import UserAvatar from "@/ui/UserAvatar"; +import { createMessage } from "@zitadel/client"; import { getMostRecentCookieWithLoginname } from "@zitadel/next"; import { redirect } from "next/navigation"; +import { + CreateCallbackRequestSchema, + SessionSchema, +} from "@zitadel/proto/zitadel/oidc/v2/oidc_service_pb"; async function loadSession(loginName: string, authRequestId?: string) { const recent = await getMostRecentCookieWithLoginname({ loginName }); if (authRequestId) { - return createCallback({ - authRequestId, - callbackKind: { - case: "session", - value: { sessionId: recent.id, sessionToken: recent.token }, - }, - }).then(({ callbackUrl }) => { + return createCallback( + createMessage(CreateCallbackRequestSchema, { + authRequestId, + callbackKind: { + case: "session", + value: createMessage(SessionSchema, { + sessionId: recent.id, + sessionToken: recent.token, + }), + }, + }), + ).then(({ callbackUrl }) => { return redirect(callbackUrl); }); } @@ -42,7 +52,7 @@ export default async function Page({ searchParams }: { searchParams: any }) { displayName={sessionFactors?.factors?.user?.displayName} showDropdown searchParams={searchParams} - > + /> ); diff --git a/apps/login/src/app/login/route.ts b/apps/login/src/app/login/route.ts index 85eae70ee0c..645b6a01052 100644 --- a/apps/login/src/app/login/route.ts +++ b/apps/login/src/app/login/route.ts @@ -1,3 +1,8 @@ +import { + CreateCallbackRequestSchema, + SessionSchema, +} from "@zitadel/proto/zitadel/oidc/v2/oidc_service_pb"; + export const dynamic = "force-dynamic"; export const revalidate = false; export const fetchCache = "default-no-store"; @@ -19,6 +24,7 @@ import { } from "@zitadel/proto/zitadel/oidc/v2/authorization_pb"; import { IdentityProviderType } from "@zitadel/proto/zitadel/settings/v2/login_settings_pb"; import { idpTypeToSlug } from "@/lib/idp"; +import { createMessage } from "@zitadel/client"; async function loadSessions(ids: string[]): Promise { const response = await listSessions( @@ -98,13 +104,15 @@ export async function GET(request: NextRequest) { // works not with _rsc request try { - const { callbackUrl } = await createCallback({ - authRequestId, - callbackKind: { - case: "session", - value: session, - }, - }); + const { callbackUrl } = await createCallback( + createMessage(CreateCallbackRequestSchema, { + authRequestId, + callbackKind: { + case: "session", + value: createMessage(SessionSchema, session), + }, + }), + ); if (callbackUrl) { return NextResponse.redirect(callbackUrl); } else { @@ -260,13 +268,15 @@ export async function GET(request: NextRequest) { sessionId: cookie?.id, sessionToken: cookie?.token, }; - const { callbackUrl } = await createCallback({ - authRequestId, - callbackKind: { - case: "session", - value: session, - }, - }); + const { callbackUrl } = await createCallback( + createMessage(CreateCallbackRequestSchema, { + authRequestId, + callbackKind: { + case: "session", + value: createMessage(SessionSchema, session), + }, + }), + ); return NextResponse.redirect(callbackUrl); } else { return NextResponse.json( @@ -295,13 +305,15 @@ export async function GET(request: NextRequest) { sessionToken: cookie?.token, }; try { - const { callbackUrl } = await createCallback({ - authRequestId, - callbackKind: { - case: "session", - value: session, - }, - }); + const { callbackUrl } = await createCallback( + createMessage(CreateCallbackRequestSchema, { + authRequestId, + callbackKind: { + case: "session", + value: createMessage(SessionSchema, session), + }, + }), + ); if (callbackUrl) { return NextResponse.redirect(callbackUrl); } else {