diff --git a/apps/login/src/app/api/passkeys/verify/route.ts b/apps/login/src/app/api/passkeys/verify/route.ts index b1f38945e09..ea25a9ba5f0 100644 --- a/apps/login/src/app/api/passkeys/verify/route.ts +++ b/apps/login/src/app/api/passkeys/verify/route.ts @@ -18,6 +18,12 @@ export async function POST(request: NextRequest) { const session = await getSession(sessionCookie.id, sessionCookie.token); const userId = session?.session?.factors?.user?.id; + console.log("payload", { + passkeyId, + passkeyName, + publicKeyCredential, + userId, + }); if (userId) { return verifyPasskeyRegistration({ passkeyId, diff --git a/apps/login/src/app/api/u2f/verify/route.ts b/apps/login/src/app/api/u2f/verify/route.ts index a842c8065c8..87f0a94d158 100644 --- a/apps/login/src/app/api/u2f/verify/route.ts +++ b/apps/login/src/app/api/u2f/verify/route.ts @@ -22,12 +22,15 @@ export async function POST(request: NextRequest) { const userId = session?.session?.factors?.user?.id; if (userId) { - const req: PlainMessage = { + let req: PlainMessage = { publicKeyCredential, u2fId, userId, tokenName: passkeyName, }; + + req = VerifyU2FRegistrationRequest.fromJson(request as any); + return verifyU2FRegistration(req) .then((resp) => { return NextResponse.json(resp); diff --git a/apps/login/src/lib/zitadel.ts b/apps/login/src/lib/zitadel.ts index 85d1f117c9d..d65df1cfb8a 100644 --- a/apps/login/src/lib/zitadel.ts +++ b/apps/login/src/lib/zitadel.ts @@ -435,7 +435,8 @@ export async function getActiveIdentityProviders(orgId?: string) { export async function verifyPasskeyRegistration( request: PartialMessage, ) { - request.publicKeyCredential = (request.publicKeyCredential as any).toJson(); + // TODO: find a better way to handle this + request = VerifyPasskeyRegistrationRequest.fromJson(request as any); return userService.verifyPasskeyRegistration(request, {}); } diff --git a/apps/login/src/ui/RegisterU2F.tsx b/apps/login/src/ui/RegisterU2F.tsx index eebbbe87b29..01081cd5eed 100644 --- a/apps/login/src/ui/RegisterU2F.tsx +++ b/apps/login/src/ui/RegisterU2F.tsx @@ -90,7 +90,7 @@ export default function RegisterU2F({ return submitRegister().then((resp: RegisterU2FResponse) => { const u2fId = resp.u2fId; const options: CredentialCreationOptions = - (resp.publicKeyCredentialCreationOptions?.toJson() as CredentialCreationOptions) ?? + (resp.publicKeyCredentialCreationOptions as CredentialCreationOptions) ?? {}; if (options.publicKey) {