From eebe78b05fa1de5c44c3a7494cc3203da95a2545 Mon Sep 17 00:00:00 2001 From: Merul Dhiman Date: Mon, 4 Nov 2024 13:58:35 +0100 Subject: [PATCH] chore: fix state issue with VCV issuance --- apps/server/src/modules/oid4vc/oid4vc.controller.ts | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/apps/server/src/modules/oid4vc/oid4vc.controller.ts b/apps/server/src/modules/oid4vc/oid4vc.controller.ts index 4cdd5fe..658d82c 100644 --- a/apps/server/src/modules/oid4vc/oid4vc.controller.ts +++ b/apps/server/src/modules/oid4vc/oid4vc.controller.ts @@ -210,8 +210,7 @@ export class Oid4vcController { pinRequired: false, }, { - experienceId: experienceId.id, - state: session.id, + state: `${experienceId}::${session.id}`, }, ); const offerExists = await this.credOfferService.findById(experienceId); @@ -246,12 +245,10 @@ export class Oid4vcController { policies: { aud: false }, resolver, }); - const experience = await this.experienceService.findById( - payload.experienceId, - { - cv: { user: true }, - }, - ); + const [experienceId, sessionId] = payload.state.split('::'); + const experience = await this.experienceService.findById(experienceId, { + cv: { user: true }, + }); if (experience.status !== 'approved') throw new BadRequestException('experience not approved'); const identity = await this.identityService.getAdminDid();