diff --git a/packages/consumption/src/modules/openid4vc/OpenId4VcController.ts b/packages/consumption/src/modules/openid4vc/OpenId4VcController.ts index 6a7ad0b0f..63b7d1753 100644 --- a/packages/consumption/src/modules/openid4vc/OpenId4VcController.ts +++ b/packages/consumption/src/modules/openid4vc/OpenId4VcController.ts @@ -25,7 +25,7 @@ export class OpenId4VcController extends ConsumptionBaseController { return this.parent.consumptionConfig.fetchInstance ?? fetch; } - public async fetchCredentialOffer(credentialOfferUrl: string): Promise<{ data: string }> { + public async resolveCredentialOffer(credentialOfferUrl: string): Promise<{ data: string }> { const holder = new Holder(this.keyStorage, this.parent.accountController, this.parent.attributes, this.fetchInstance); await holder.initializeAgent("96213c3d7fc8d4d6754c7a0fd969598e"); const res = await holder.resolveCredentialOffer(credentialOfferUrl); @@ -34,33 +34,14 @@ export class OpenId4VcController extends ConsumptionBaseController { }; } - public async processFetchedCredentialOffer( - fetchedCredentialOffer: string, - requestedCredentialOffers: string[], + public async acceptCredentialOffer( + credentialOffer: string, + credentialConfigurationIds: string[], pinCode?: string ): Promise<{ data: string; id: string; type: string; displayInformation: string | undefined }> { const holder = new Holder(this.keyStorage, this.parent.accountController, this.parent.attributes, this.fetchInstance); await holder.initializeAgent("96213c3d7fc8d4d6754c7a0fd969598e"); - const credentialOffer = JSON.parse(fetchedCredentialOffer); - const credentials = await holder.requestAndStoreCredentials(credentialOffer, { credentialsToRequest: requestedCredentialOffers, txCode: pinCode }); - - // TODO: support multiple credentials - const credential = credentials[0].content.value as VerifiableCredential; - - return { - data: credential.value, - // multi credentials not supported yet - id: credentials[0].id.toString(), - type: credential.type, - displayInformation: credential.displayInformation - }; - } - - public async processCredentialOffer(credentialOffer: string): Promise<{ data: string; id: string; type: string; displayInformation: string | undefined }> { - const holder = new Holder(this.keyStorage, this.parent.accountController, this.parent.attributes, this.fetchInstance); - await holder.initializeAgent("96213c3d7fc8d4d6754c7a0fd969598e"); - const res = await holder.resolveCredentialOffer(credentialOffer); - const credentials = await holder.requestAndStoreCredentials(res, { credentialsToRequest: Object.keys(res.offeredCredentialConfigurations) }); + const credentials = await holder.requestAndStoreCredentials(JSON.parse(credentialOffer), { credentialsToRequest: credentialConfigurationIds, txCode: pinCode }); // TODO: support multiple credentials const credential = credentials[0].content.value as VerifiableCredential; @@ -75,11 +56,11 @@ export class OpenId4VcController extends ConsumptionBaseController { } public async resolveAuthorizationRequest( - requestUrl: string + authorizationRequestUrl: string ): Promise<{ authorizationRequest: OpenId4VpResolvedAuthorizationRequest; usedCredentials: { id: string; data: string; type: string; displayInformation?: string }[] }> { const holder = new Holder(this.keyStorage, this.parent.accountController, this.parent.attributes, this.fetchInstance); await holder.initializeAgent("96213c3d7fc8d4d6754c7a0fd969598e"); - const authorizationRequest = await holder.resolveAuthorizationRequest(requestUrl); + const authorizationRequest = await holder.resolveAuthorizationRequest(authorizationRequestUrl); // TODO: extract DTOs diff --git a/packages/runtime-types/src/consumption/AcceptedAuthorizationRequestDTO.ts b/packages/runtime-types/src/consumption/AcceptedAuthorizationRequestDTO.ts deleted file mode 100644 index f7fada0e1..000000000 --- a/packages/runtime-types/src/consumption/AcceptedAuthorizationRequestDTO.ts +++ /dev/null @@ -1,4 +0,0 @@ -export interface AcceptAuthorizationRequestDTO { - status: number; - message: string; -} diff --git a/packages/runtime-types/src/consumption/FetchedAuthorizationRequestDTO.ts b/packages/runtime-types/src/consumption/FetchedAuthorizationRequestDTO.ts deleted file mode 100644 index ce97265ea..000000000 --- a/packages/runtime-types/src/consumption/FetchedAuthorizationRequestDTO.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { VerifiableCredentialDTO } from "./VerifiableCredentialDTO"; - -export interface FetchedAuthorizationRequestDTO { - authorizationRequest: Record; - usedCredentials: VerifiableCredentialDTO[]; -} diff --git a/packages/runtime-types/src/consumption/FetchedCredentialOfferDTO.ts b/packages/runtime-types/src/consumption/FetchedCredentialOfferDTO.ts deleted file mode 100644 index b669e51eb..000000000 --- a/packages/runtime-types/src/consumption/FetchedCredentialOfferDTO.ts +++ /dev/null @@ -1,3 +0,0 @@ -export interface FetchedCredentialOfferDTO { - jsonRepresentation: string; -} diff --git a/packages/runtime-types/src/consumption/index.ts b/packages/runtime-types/src/consumption/index.ts index c9fb6f886..9d93032ca 100644 --- a/packages/runtime-types/src/consumption/index.ts +++ b/packages/runtime-types/src/consumption/index.ts @@ -1,9 +1,6 @@ -export * from "./AcceptedAuthorizationRequestDTO"; export * from "./AttributeTagCollectionDTO"; export * from "./CredentialOfferDTO"; export * from "./DraftDTO"; -export * from "./FetchedAuthorizationRequestDTO"; -export * from "./FetchedCredentialOfferDTO"; export * from "./IdentityMetadataDTO"; export * from "./LocalAttributeDeletionInfoDTO"; export * from "./LocalAttributeDTO"; diff --git a/packages/runtime/src/extensibility/facades/consumption/OpenId4VcFacade.ts b/packages/runtime/src/extensibility/facades/consumption/OpenId4VcFacade.ts index 29d796111..a9bdf369b 100644 --- a/packages/runtime/src/extensibility/facades/consumption/OpenId4VcFacade.ts +++ b/packages/runtime/src/extensibility/facades/consumption/OpenId4VcFacade.ts @@ -1,47 +1,43 @@ import { ApplicationError, Result } from "@js-soft/ts-utils"; -import { AcceptAuthorizationRequestDTO, FetchedAuthorizationRequestDTO, FetchedCredentialOfferDTO, VerifiableCredentialDTO } from "@nmshd/runtime-types"; +import { VerifiableCredentialDTO } from "@nmshd/runtime-types"; import { Inject } from "@nmshd/typescript-ioc"; import { AcceptAuthorizationRequestRequest, + AcceptAuthorizationRequestResponse, AcceptAuthorizationRequestUseCase, - FetchCredentialOfferRequest, - FetchCredentialOfferUseCase, - FetchedCredentialOfferRequest, + AcceptCredentialOfferRequest, + AcceptCredentialOfferUseCase, GetVerifiableCredentialsUseCase, ResolveAuthorizationRequestRequest, + ResolveAuthorizationRequestResponse, ResolveAuthorizationRequestUseCase, ResolveCredentialOfferRequest, - ResolveCredentialOfferUseCase, - ResolveFetchedCredentialOfferUseCase + ResolveCredentialOfferResponse, + ResolveCredentialOfferUseCase } from "../../../useCases"; export class OpenId4VcFacade { public constructor( @Inject private readonly resolveCredentialOfferUseCase: ResolveCredentialOfferUseCase, - @Inject private readonly fetchOfferUseCase: FetchCredentialOfferUseCase, - @Inject private readonly resolveFetchedOfferUseCase: ResolveFetchedCredentialOfferUseCase, + @Inject private readonly acceptCredentialOfferUseCase: AcceptCredentialOfferUseCase, @Inject private readonly resolveAuthorizationRequestUseCase: ResolveAuthorizationRequestUseCase, @Inject private readonly acceptAuthorizationRequestUseCase: AcceptAuthorizationRequestUseCase, @Inject private readonly getVerifiableCredentialsUseCase: GetVerifiableCredentialsUseCase ) {} - public async resolveCredentialOffer(request: ResolveCredentialOfferRequest): Promise> { + public async resolveCredentialOffer(request: ResolveCredentialOfferRequest): Promise> { return await this.resolveCredentialOfferUseCase.execute(request); } - public async fetchCredentialOffer(request: FetchCredentialOfferRequest): Promise> { - return await this.fetchOfferUseCase.execute(request); + public async acceptCredentialOffer(request: AcceptCredentialOfferRequest): Promise> { + return await this.acceptCredentialOfferUseCase.execute(request); } - public async resolveFetchedCredentialOffer(request: FetchedCredentialOfferRequest): Promise> { - return await this.resolveFetchedOfferUseCase.execute(request); - } - - public async resolveAuthorizationRequest(request: ResolveAuthorizationRequestRequest): Promise> { + public async resolveAuthorizationRequest(request: ResolveAuthorizationRequestRequest): Promise> { return await this.resolveAuthorizationRequestUseCase.execute(request); } - public async acceptAuthorizationRequest(request: AcceptAuthorizationRequestRequest): Promise> { + public async acceptAuthorizationRequest(request: AcceptAuthorizationRequestRequest): Promise> { return await this.acceptAuthorizationRequestUseCase.execute(request); } diff --git a/packages/runtime/src/useCases/common/Schemas.ts b/packages/runtime/src/useCases/common/Schemas.ts index ec57ad2ee..03b27a25c 100644 --- a/packages/runtime/src/useCases/common/Schemas.ts +++ b/packages/runtime/src/useCases/common/Schemas.ts @@ -16706,9 +16706,7 @@ export const AcceptAuthorizationRequestRequest: any = { "AcceptAuthorizationRequestRequest": { "type": "object", "properties": { - "authorizationRequest": { - "type": "object" - } + "authorizationRequest": {} }, "required": [ "authorizationRequest" @@ -16718,19 +16716,29 @@ export const AcceptAuthorizationRequestRequest: any = { } } -export const FetchCredentialOfferRequest: any = { +export const AcceptCredentialOfferRequest: any = { "$schema": "http://json-schema.org/draft-07/schema#", - "$ref": "#/definitions/FetchCredentialOfferRequest", + "$ref": "#/definitions/AcceptCredentialOfferRequest", "definitions": { - "FetchCredentialOfferRequest": { + "AcceptCredentialOfferRequest": { "type": "object", "properties": { - "credentialOfferUrl": { + "credentialOffer": { "type": "string" + }, + "pinCode": { + "type": "string" + }, + "credentialConfigurationIds": { + "type": "array", + "items": { + "type": "string" + } } }, "required": [ - "credentialOfferUrl" + "credentialOffer", + "credentialConfigurationIds" ], "additionalProperties": false } @@ -16763,12 +16771,12 @@ export const ResolveAuthorizationRequestRequest: any = { "ResolveAuthorizationRequestRequest": { "type": "object", "properties": { - "requestUrl": { + "authorizationRequestUrl": { "type": "string" } }, "required": [ - "requestUrl" + "authorizationRequestUrl" ], "additionalProperties": false } @@ -16794,35 +16802,6 @@ export const ResolveCredentialOfferRequest: any = { } } -export const FetchedCredentialOfferRequest: any = { - "$schema": "http://json-schema.org/draft-07/schema#", - "$ref": "#/definitions/FetchedCredentialOfferRequest", - "definitions": { - "FetchedCredentialOfferRequest": { - "type": "object", - "properties": { - "data": { - "type": "string" - }, - "pinCode": { - "type": "string" - }, - "requestedCredentials": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "data", - "requestedCredentials" - ], - "additionalProperties": false - } - } -} - export const CreateSettingRequest: any = { "$schema": "http://json-schema.org/draft-07/schema#", "$ref": "#/definitions/CreateSettingRequest", diff --git a/packages/runtime/src/useCases/consumption/openid4vc/AcceptAuthorizationRequest.ts b/packages/runtime/src/useCases/consumption/openid4vc/AcceptAuthorizationRequest.ts index 95b1bed56..8ec76fbc1 100644 --- a/packages/runtime/src/useCases/consumption/openid4vc/AcceptAuthorizationRequest.ts +++ b/packages/runtime/src/useCases/consumption/openid4vc/AcceptAuthorizationRequest.ts @@ -1,12 +1,15 @@ -import { OpenId4VpResolvedAuthorizationRequest } from "@credo-ts/openid4vc"; import { Result } from "@js-soft/ts-utils"; import { OpenId4VcController } from "@nmshd/consumption"; -import { AcceptAuthorizationRequestDTO } from "@nmshd/runtime-types"; import { Inject } from "@nmshd/typescript-ioc"; import { SchemaRepository, SchemaValidator, UseCase } from "../../common"; export interface AcceptAuthorizationRequestRequest { - authorizationRequest: Record; + authorizationRequest: any; +} + +export interface AcceptAuthorizationRequestResponse { + status: number; + message: string; } class Validator extends SchemaValidator { @@ -15,16 +18,16 @@ class Validator extends SchemaValidator { } } -export class AcceptAuthorizationRequestUseCase extends UseCase { +export class AcceptAuthorizationRequestUseCase extends UseCase { public constructor( - @Inject private readonly openId4VcContoller: OpenId4VcController, + @Inject private readonly openId4VcController: OpenId4VcController, @Inject validator: Validator ) { super(validator); } - protected override async executeInternal(request: AcceptAuthorizationRequestRequest): Promise> { - const result = await this.openId4VcContoller.acceptAuthorizationRequest(request.authorizationRequest as OpenId4VpResolvedAuthorizationRequest); + protected override async executeInternal(request: AcceptAuthorizationRequestRequest): Promise> { + const result = await this.openId4VcController.acceptAuthorizationRequest(request.authorizationRequest); return Result.ok({ status: result.status, message: JSON.stringify(result.message) }); } } diff --git a/packages/runtime/src/useCases/consumption/openid4vc/AcceptCredentialOffer.ts b/packages/runtime/src/useCases/consumption/openid4vc/AcceptCredentialOffer.ts new file mode 100644 index 000000000..0076cf47e --- /dev/null +++ b/packages/runtime/src/useCases/consumption/openid4vc/AcceptCredentialOffer.ts @@ -0,0 +1,36 @@ +import { Result } from "@js-soft/ts-utils"; +import { OpenId4VcController } from "@nmshd/consumption"; +import { VerifiableCredentialDTO } from "@nmshd/runtime-types"; +import { Inject } from "@nmshd/typescript-ioc"; +import { SchemaRepository, SchemaValidator, UseCase } from "../../common"; + +export interface AcceptCredentialOfferRequest { + credentialOffer: string; + pinCode?: string; + credentialConfigurationIds: string[]; +} + +class Validator extends SchemaValidator { + public constructor(@Inject schemaRepository: SchemaRepository) { + super(schemaRepository.getSchema("AcceptCredentialOfferRequest")); + } +} + +export class AcceptCredentialOfferUseCase extends UseCase { + public constructor( + @Inject private readonly openId4VcController: OpenId4VcController, + @Inject validator: Validator + ) { + super(validator); + } + + protected override async executeInternal(request: AcceptCredentialOfferRequest): Promise> { + const result = await this.openId4VcController.acceptCredentialOffer(request.credentialOffer, request.credentialConfigurationIds, request.pinCode); + return Result.ok({ + data: result.data, + id: result.id, + type: result.type, + displayInformation: result.displayInformation + }); + } +} diff --git a/packages/runtime/src/useCases/consumption/openid4vc/FetchCredentialOffer.ts b/packages/runtime/src/useCases/consumption/openid4vc/FetchCredentialOffer.ts deleted file mode 100644 index 6d1067aad..000000000 --- a/packages/runtime/src/useCases/consumption/openid4vc/FetchCredentialOffer.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { Result } from "@js-soft/ts-utils"; -import { OpenId4VcController } from "@nmshd/consumption"; -import { FetchedCredentialOfferDTO } from "@nmshd/runtime-types"; -import { Inject } from "@nmshd/typescript-ioc"; -import { SchemaRepository, SchemaValidator, UseCase } from "../../common"; - -export interface FetchCredentialOfferRequest { - credentialOfferUrl: string; -} - -class Validator extends SchemaValidator { - public constructor(@Inject schemaRepository: SchemaRepository) { - super(schemaRepository.getSchema("FetchCredentialOfferRequest")); - } -} - -export class FetchCredentialOfferUseCase extends UseCase { - public constructor( - @Inject private readonly openId4VcContoller: OpenId4VcController, - @Inject validator: Validator - ) { - super(validator); - } - - protected override async executeInternal(request: FetchCredentialOfferRequest): Promise> { - const result = await this.openId4VcContoller.fetchCredentialOffer(request.credentialOfferUrl); - return Result.ok({ jsonRepresentation: result.data } as FetchedCredentialOfferDTO); - } -} diff --git a/packages/runtime/src/useCases/consumption/openid4vc/GetVerifiableCredentials.ts b/packages/runtime/src/useCases/consumption/openid4vc/GetVerifiableCredentials.ts index 55beb77d7..679f518ad 100644 --- a/packages/runtime/src/useCases/consumption/openid4vc/GetVerifiableCredentials.ts +++ b/packages/runtime/src/useCases/consumption/openid4vc/GetVerifiableCredentials.ts @@ -16,14 +16,14 @@ class Validator extends SchemaValidator { export class GetVerifiableCredentialsUseCase extends UseCase { public constructor( - @Inject private readonly openId4VcContoller: OpenId4VcController, + @Inject private readonly openId4VcController: OpenId4VcController, @Inject validator: Validator ) { super(validator); } protected override async executeInternal(request: GetVerifiableCredentialsRequest): Promise> { - const credentials = await this.openId4VcContoller.getVerifiableCredentials(request.ids); + const credentials = await this.openId4VcController.getVerifiableCredentials(request.ids); return Result.ok(credentials); } } diff --git a/packages/runtime/src/useCases/consumption/openid4vc/ResolveAuthorizationRequest.ts b/packages/runtime/src/useCases/consumption/openid4vc/ResolveAuthorizationRequest.ts index 430032a44..3b0c1dd79 100644 --- a/packages/runtime/src/useCases/consumption/openid4vc/ResolveAuthorizationRequest.ts +++ b/packages/runtime/src/useCases/consumption/openid4vc/ResolveAuthorizationRequest.ts @@ -1,12 +1,17 @@ import { Result } from "@js-soft/ts-utils"; import { OpenId4VcController } from "@nmshd/consumption"; -import { FetchedAuthorizationRequestDTO } from "@nmshd/runtime-types"; +import { VerifiableCredentialDTO } from "@nmshd/runtime-types"; import { Inject } from "@nmshd/typescript-ioc"; import stringifySafe from "json-stringify-safe"; import { SchemaRepository, SchemaValidator, UseCase } from "../../common"; export interface ResolveAuthorizationRequestRequest { - requestUrl: string; + authorizationRequestUrl: string; +} + +export interface ResolveAuthorizationRequestResponse { + authorizationRequest: Record; + usedCredentials: VerifiableCredentialDTO[]; } class Validator extends SchemaValidator { @@ -15,16 +20,16 @@ class Validator extends SchemaValidator { } } -export class ResolveAuthorizationRequestUseCase extends UseCase { +export class ResolveAuthorizationRequestUseCase extends UseCase { public constructor( - @Inject private readonly openId4VcContoller: OpenId4VcController, + @Inject private readonly openId4VcController: OpenId4VcController, @Inject validator: Validator ) { super(validator); } - protected override async executeInternal(request: ResolveAuthorizationRequestRequest): Promise> { - const result = await this.openId4VcContoller.resolveAuthorizationRequest(request.requestUrl); + protected override async executeInternal(request: ResolveAuthorizationRequestRequest): Promise> { + const result = await this.openId4VcController.resolveAuthorizationRequest(request.authorizationRequestUrl); return Result.ok({ authorizationRequest: JSON.parse(stringifySafe(result.authorizationRequest)), diff --git a/packages/runtime/src/useCases/consumption/openid4vc/ResolveCredentialOffer.ts b/packages/runtime/src/useCases/consumption/openid4vc/ResolveCredentialOffer.ts index 4a29eb874..b68dedf17 100644 --- a/packages/runtime/src/useCases/consumption/openid4vc/ResolveCredentialOffer.ts +++ b/packages/runtime/src/useCases/consumption/openid4vc/ResolveCredentialOffer.ts @@ -1,6 +1,5 @@ import { Result } from "@js-soft/ts-utils"; import { OpenId4VcController } from "@nmshd/consumption"; -import { VerifiableCredentialDTO } from "@nmshd/runtime-types"; import { Inject } from "@nmshd/typescript-ioc"; import { SchemaRepository, SchemaValidator, UseCase } from "../../common"; @@ -8,22 +7,26 @@ export interface ResolveCredentialOfferRequest { credentialOfferUrl: string; } +export interface ResolveCredentialOfferResponse { + jsonRepresentation: string; +} + class Validator extends SchemaValidator { public constructor(@Inject schemaRepository: SchemaRepository) { super(schemaRepository.getSchema("ResolveCredentialOfferRequest")); } } -export class ResolveCredentialOfferUseCase extends UseCase { +export class ResolveCredentialOfferUseCase extends UseCase { public constructor( - @Inject private readonly openId4VcContoller: OpenId4VcController, + @Inject private readonly openId4VcController: OpenId4VcController, @Inject validator: Validator ) { super(validator); } - protected override async executeInternal(request: ResolveCredentialOfferRequest): Promise> { - const result = await this.openId4VcContoller.processCredentialOffer(request.credentialOfferUrl); - return Result.ok(result); + protected override async executeInternal(request: ResolveCredentialOfferRequest): Promise> { + const result = await this.openId4VcController.resolveCredentialOffer(request.credentialOfferUrl); + return Result.ok({ jsonRepresentation: result.data }); } } diff --git a/packages/runtime/src/useCases/consumption/openid4vc/ResolveFetchedCredential.ts b/packages/runtime/src/useCases/consumption/openid4vc/ResolveFetchedCredential.ts deleted file mode 100644 index 81d090b3a..000000000 --- a/packages/runtime/src/useCases/consumption/openid4vc/ResolveFetchedCredential.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { Result } from "@js-soft/ts-utils"; -import { OpenId4VcController } from "@nmshd/consumption"; -import { VerifiableCredentialDTO } from "@nmshd/runtime-types"; -import { Inject } from "@nmshd/typescript-ioc"; -import { SchemaRepository, SchemaValidator, UseCase } from "../../common"; - -export interface FetchedCredentialOfferRequest { - data: string; - pinCode?: string; - requestedCredentials: string[]; -} - -class Validator extends SchemaValidator { - public constructor(@Inject schemaRepository: SchemaRepository) { - super(schemaRepository.getSchema("FetchedCredentialOfferRequest")); - } -} - -export class ResolveFetchedCredentialOfferUseCase extends UseCase { - public constructor( - @Inject private readonly openId4VcContoller: OpenId4VcController, - @Inject validator: Validator - ) { - super(validator); - } - - protected override async executeInternal(request: FetchedCredentialOfferRequest): Promise> { - const result = await this.openId4VcContoller.processFetchedCredentialOffer(request.data, request.requestedCredentials, request.pinCode); - return Result.ok({ - data: result.data, - id: result.id, - type: result.type, - displayInformation: result.displayInformation - }); - } -} diff --git a/packages/runtime/src/useCases/consumption/openid4vc/index.ts b/packages/runtime/src/useCases/consumption/openid4vc/index.ts index 9d19e641b..12295fc15 100644 --- a/packages/runtime/src/useCases/consumption/openid4vc/index.ts +++ b/packages/runtime/src/useCases/consumption/openid4vc/index.ts @@ -1,6 +1,5 @@ export * from "./AcceptAuthorizationRequest"; -export * from "./FetchCredentialOffer"; +export * from "./AcceptCredentialOffer"; export * from "./GetVerifiableCredentials"; export * from "./ResolveAuthorizationRequest"; export * from "./ResolveCredentialOffer"; -export * from "./ResolveFetchedCredential"; diff --git a/packages/runtime/test/consumption/openid4vc.test.ts b/packages/runtime/test/consumption/openid4vc.test.ts index b74071943..144c232e9 100644 --- a/packages/runtime/test/consumption/openid4vc.test.ts +++ b/packages/runtime/test/consumption/openid4vc.test.ts @@ -54,7 +54,7 @@ describe("custom openid4vc service", () => { credentialOfferUrl = responseData.result.credentialOffer; - const result = await consumptionServices.openId4Vc.fetchCredentialOffer({ + const result = await consumptionServices.openId4Vc.resolveCredentialOffer({ credentialOfferUrl }); @@ -72,9 +72,9 @@ describe("custom openid4vc service", () => { requestedCredentials = credentialOfferDecoded["credentialOfferPayload"]["credential_configuration_ids"]; } - const acceptanceResult = await consumptionServices.openId4Vc.resolveFetchedCredentialOffer({ - data: jsonRepresentation, - requestedCredentials: requestedCredentials + const acceptanceResult = await consumptionServices.openId4Vc.acceptCredentialOffer({ + credentialOffer: jsonRepresentation, + credentialConfigurationIds: requestedCredentials }); expect(acceptanceResult).toBeSuccessful(); expect(typeof acceptanceResult.value.id).toBe("string"); @@ -119,7 +119,7 @@ describe("custom openid4vc service", () => { expect(response.status).toBe(200); const responseData = await response.data; - const result = await consumptionServices.openId4Vc.resolveAuthorizationRequest({ requestUrl: responseData.result.presentationRequest }); + const result = await consumptionServices.openId4Vc.resolveAuthorizationRequest({ authorizationRequestUrl: responseData.result.presentationRequest }); expect(result.value.usedCredentials).toHaveLength(1); const request = result.value.authorizationRequest as OpenId4VpResolvedAuthorizationRequest; @@ -245,25 +245,25 @@ describe("EUDIPLO", () => { }) ).data.uri; - const loadResult = await consumptionServices.openId4Vc.fetchCredentialOffer({ credentialOfferUrl }); + const loadResult = await consumptionServices.openId4Vc.resolveCredentialOffer({ credentialOfferUrl }); expect(loadResult).toBeSuccessful(); - const resolveResult = await consumptionServices.openId4Vc.resolveFetchedCredentialOffer({ - data: loadResult.value.jsonRepresentation, - requestedCredentials: [eudiploCredentialIdInConfiguration] + const resolveResult = await consumptionServices.openId4Vc.acceptCredentialOffer({ + credentialOffer: loadResult.value.jsonRepresentation, + credentialConfigurationIds: [eudiploCredentialIdInConfiguration] }); expect(resolveResult).toBeSuccessful(); }); test("presentation", async () => { - const requestUrl = ( + const authorizationRequestUrl = ( await axiosInstance.post(`/presentation-management/request`, { response_type: "uri", // eslint-disable-line @typescript-eslint/naming-convention requestId: eudiploPresentationConfigurationId }) ).data.uri; - const loadResult = await consumptionServices.openId4Vc.resolveAuthorizationRequest({ requestUrl }); + const loadResult = await consumptionServices.openId4Vc.resolveAuthorizationRequest({ authorizationRequestUrl }); expect(loadResult).toBeSuccessful(); const queryResult = loadResult.value.authorizationRequest.dcql.queryResult;