@sphereon/ssi-sdk.oid4vci-holder 0.34.1-feature.SSISDK.78.280 → 0.34.1-feature.SSISDK.82.linkedVP.325

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sphereon/ssi-sdk.oid4vci-holder",
3
- "version": "0.34.1-feature.SSISDK.78.280+c08a3255",
3
+ "version": "0.34.1-feature.SSISDK.82.linkedVP.325+9de5d4ff",
4
4
  "source": "src/index.ts",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -26,27 +26,27 @@
26
26
  "build": "tsup --config ../../tsup.config.ts --tsconfig ../../tsconfig.tsup.json"
27
27
  },
28
28
  "dependencies": {
29
- "@sphereon/did-auth-siop": "0.19.1-next.220",
29
+ "@sphereon/did-auth-siop": "0.19.1-next.226",
30
30
  "@sphereon/kmp-mdoc-core": "0.2.0-SNAPSHOT.26",
31
- "@sphereon/oid4vci-client": "0.19.1-next.220",
32
- "@sphereon/oid4vci-common": "0.19.1-next.220",
33
- "@sphereon/ssi-sdk-ext.did-utils": "0.34.1-feature.SSISDK.78.280+c08a3255",
34
- "@sphereon/ssi-sdk-ext.identifier-resolution": "0.34.1-feature.SSISDK.78.280+c08a3255",
35
- "@sphereon/ssi-sdk-ext.jwt-service": "0.34.1-feature.SSISDK.78.280+c08a3255",
36
- "@sphereon/ssi-sdk-ext.key-utils": "0.34.1-feature.SSISDK.78.280+c08a3255",
37
- "@sphereon/ssi-sdk.contact-manager": "0.34.1-feature.SSISDK.78.280+c08a3255",
38
- "@sphereon/ssi-sdk.core": "0.34.1-feature.SSISDK.78.280+c08a3255",
39
- "@sphereon/ssi-sdk.credential-store": "0.34.1-feature.SSISDK.78.280+c08a3255",
40
- "@sphereon/ssi-sdk.credential-validation": "0.34.1-feature.SSISDK.78.280+c08a3255",
41
- "@sphereon/ssi-sdk.data-store-types": "0.34.1-feature.SSISDK.78.280+c08a3255",
42
- "@sphereon/ssi-sdk.issuance-branding": "0.34.1-feature.SSISDK.78.280+c08a3255",
43
- "@sphereon/ssi-sdk.mdl-mdoc": "0.34.1-feature.SSISDK.78.280+c08a3255",
44
- "@sphereon/ssi-sdk.oidf-client": "0.34.1-feature.SSISDK.78.280+c08a3255",
45
- "@sphereon/ssi-sdk.sd-jwt": "0.34.1-feature.SSISDK.78.280+c08a3255",
46
- "@sphereon/ssi-sdk.siopv2-oid4vp-common": "0.34.1-feature.SSISDK.78.280+c08a3255",
47
- "@sphereon/ssi-sdk.siopv2-oid4vp-op-auth": "0.34.1-feature.SSISDK.78.280+c08a3255",
48
- "@sphereon/ssi-sdk.xstate-machine-persistence": "0.34.1-feature.SSISDK.78.280+c08a3255",
49
- "@sphereon/ssi-types": "0.34.1-feature.SSISDK.78.280+c08a3255",
31
+ "@sphereon/oid4vci-client": "0.19.1-next.226",
32
+ "@sphereon/oid4vci-common": "0.19.1-next.226",
33
+ "@sphereon/ssi-sdk-ext.did-utils": "0.34.1-feature.SSISDK.82.linkedVP.325+9de5d4ff",
34
+ "@sphereon/ssi-sdk-ext.identifier-resolution": "0.34.1-feature.SSISDK.82.linkedVP.325+9de5d4ff",
35
+ "@sphereon/ssi-sdk-ext.jwt-service": "0.34.1-feature.SSISDK.82.linkedVP.325+9de5d4ff",
36
+ "@sphereon/ssi-sdk-ext.key-utils": "0.34.1-feature.SSISDK.82.linkedVP.325+9de5d4ff",
37
+ "@sphereon/ssi-sdk.contact-manager": "0.34.1-feature.SSISDK.82.linkedVP.325+9de5d4ff",
38
+ "@sphereon/ssi-sdk.core": "0.34.1-feature.SSISDK.82.linkedVP.325+9de5d4ff",
39
+ "@sphereon/ssi-sdk.credential-store": "0.34.1-feature.SSISDK.82.linkedVP.325+9de5d4ff",
40
+ "@sphereon/ssi-sdk.credential-validation": "0.34.1-feature.SSISDK.82.linkedVP.325+9de5d4ff",
41
+ "@sphereon/ssi-sdk.data-store-types": "0.34.1-feature.SSISDK.82.linkedVP.325+9de5d4ff",
42
+ "@sphereon/ssi-sdk.issuance-branding": "0.34.1-feature.SSISDK.82.linkedVP.325+9de5d4ff",
43
+ "@sphereon/ssi-sdk.mdl-mdoc": "0.34.1-feature.SSISDK.82.linkedVP.325+9de5d4ff",
44
+ "@sphereon/ssi-sdk.oidf-client": "0.34.1-feature.SSISDK.82.linkedVP.325+9de5d4ff",
45
+ "@sphereon/ssi-sdk.sd-jwt": "0.34.1-feature.SSISDK.82.linkedVP.325+9de5d4ff",
46
+ "@sphereon/ssi-sdk.siopv2-oid4vp-common": "0.34.1-feature.SSISDK.82.linkedVP.325+9de5d4ff",
47
+ "@sphereon/ssi-sdk.siopv2-oid4vp-op-auth": "0.34.1-feature.SSISDK.82.linkedVP.325+9de5d4ff",
48
+ "@sphereon/ssi-sdk.xstate-machine-persistence": "0.34.1-feature.SSISDK.82.linkedVP.325+9de5d4ff",
49
+ "@sphereon/ssi-types": "0.34.1-feature.SSISDK.82.linkedVP.325+9de5d4ff",
50
50
  "@veramo/core": "4.2.0",
51
51
  "@veramo/data-store": "4.2.0",
52
52
  "@veramo/utils": "4.2.0",
@@ -59,8 +59,8 @@
59
59
  "xstate": "^4.38.3"
60
60
  },
61
61
  "devDependencies": {
62
- "@sphereon/oid4vc-common": "0.19.1-next.220",
63
- "@sphereon/ssi-sdk-ext.did-resolver-jwk": "0.34.1-feature.SSISDK.78.280+c08a3255",
62
+ "@sphereon/oid4vc-common": "0.19.1-next.226",
63
+ "@sphereon/ssi-sdk-ext.did-resolver-jwk": "0.34.1-feature.SSISDK.82.linkedVP.325+9de5d4ff",
64
64
  "@sphereon/ssi-sdk.siopv2-oid4vp-common": "workspace:*",
65
65
  "@types/i18n-js": "^3.8.9",
66
66
  "@types/lodash.memoize": "^4.1.9",
@@ -90,5 +90,5 @@
90
90
  "OID4VCI",
91
91
  "State Machine"
92
92
  ],
93
- "gitHead": "c08a32550479235265b02f17e9554f541836c635"
93
+ "gitHead": "9de5d4ff0d17685351d63a9685ec853f6add2d6c"
94
94
  }
@@ -1,4 +1,4 @@
1
- import { CredentialOfferClient, MetadataClient, OpenID4VCIClient } from '@sphereon/oid4vci-client'
1
+ import { CredentialOfferClient, MetadataClient, OpenID4VCIClient, OpenID4VCIClientV1_0_15 } from '@sphereon/oid4vci-client'
2
2
  import {
3
3
  AuthorizationDetails,
4
4
  AuthorizationRequestOpts,
@@ -402,10 +402,10 @@ export class OID4VCIHolder implements IAgentPlugin {
402
402
  if (authFormats && authFormats.length > 0) {
403
403
  formats = Array.from(new Set(authFormats))
404
404
  }
405
- let oid4vciClient: OpenID4VCIClient
405
+ let oid4vciClient: OpenID4VCIClientV1_0_15
406
406
  let offer: CredentialOfferRequestWithBaseUrl | undefined
407
407
  if (requestData.existingClientState) {
408
- oid4vciClient = await OpenID4VCIClient.fromState({ state: requestData.existingClientState })
408
+ oid4vciClient = await OpenID4VCIClientV1_0_15.fromState({ state: requestData.existingClientState })
409
409
  offer = oid4vciClient.credentialOffer
410
410
  } else {
411
411
  offer = requestData.credentialOffer
@@ -427,7 +427,7 @@ export class OID4VCIHolder implements IAgentPlugin {
427
427
  if (!offer) {
428
428
  // else no offer, meaning we have an issuer URL
429
429
  logger.log(`Issuer url received (no credential offer): ${uri}`)
430
- oid4vciClient = await OpenID4VCIClient.fromCredentialIssuer({
430
+ oid4vciClient = await OpenID4VCIClientV1_0_15.fromCredentialIssuer({
431
431
  credentialIssuer: uri,
432
432
  authorizationRequest: authorizationRequestOpts,
433
433
  clientId: authorizationRequestOpts.clientId,
@@ -435,7 +435,7 @@ export class OID4VCIHolder implements IAgentPlugin {
435
435
  })
436
436
  } else {
437
437
  logger.log(`Credential offer received: ${uri}`)
438
- oid4vciClient = await OpenID4VCIClient.fromURI({
438
+ oid4vciClient = await OpenID4VCIClientV1_0_15.fromURI({
439
439
  uri,
440
440
  authorizationRequest: authorizationRequestOpts,
441
441
  clientId: authorizationRequestOpts.clientId,
@@ -623,7 +623,7 @@ export class OID4VCIHolder implements IAgentPlugin {
623
623
  return Promise.reject(Error('Missing openID4VCI client state in context'))
624
624
  }
625
625
 
626
- const client = await OpenID4VCIClient.fromState({ state: openID4VCIClientState })
626
+ const client = await OpenID4VCIClientV1_0_15.fromState({ state: openID4VCIClientState })
627
627
  const credentialsSupported = await getCredentialConfigsSupportedMerged({
628
628
  client,
629
629
  vcFormatPreferences: this.vcFormatPreferences,
@@ -99,7 +99,7 @@ const oid4vciRequireAuthorizationGuard = (ctx: OID4VCIMachineContext, _event: OI
99
99
  throw Error('Missing openID4VCI client state in context')
100
100
  }
101
101
 
102
- if (openID4VCIClientState.authorizationRequestOpts) {
102
+ if (openID4VCIClientState.authorizationURL && openID4VCIClientState.authorizationRequestOpts) {
103
103
  // We have authz options or there is not credential offer to begin with.
104
104
  // We require authz as long as we do not have the authz code response
105
105
  return !ctx.openID4VCIClientState?.authorizationCodeResponse
@@ -440,6 +440,10 @@ const createOID4VCIMachine = (opts?: CreateOID4VCIMachineOpts): OID4VCIStateMach
440
440
  target: OID4VCIMachineStates.startFirstPartApplicationFlow,
441
441
  cond: OID4VCIMachineGuards.isFirstPartyApplication,
442
442
  },
443
+ {
444
+ target: OID4VCIMachineStates.prepareAuthorizationRequest,
445
+ cond: OID4VCIMachineGuards.requireAuthorizationGuard,
446
+ },
443
447
  {
444
448
  target: OID4VCIMachineStates.initiateAuthorizationRequest,
445
449
  cond: OID4VCIMachineGuards.requireAuthorizationGuard,
@@ -512,6 +516,10 @@ const createOID4VCIMachine = (opts?: CreateOID4VCIMachineOpts): OID4VCIStateMach
512
516
  target: OID4VCIMachineStates.startFirstPartApplicationFlow,
513
517
  cond: OID4VCIMachineGuards.isFirstPartyApplication,
514
518
  },
519
+ {
520
+ target: OID4VCIMachineStates.prepareAuthorizationRequest,
521
+ cond: OID4VCIMachineGuards.requireAuthorizationGuard,
522
+ },
515
523
  {
516
524
  target: OID4VCIMachineStates.verifyPin,
517
525
  cond: OID4VCIMachineGuards.requirePinGuard,
@@ -209,9 +209,7 @@ export const mapCredentialToAccept = async (args: MapCredentialToAcceptArgs): Pr
209
209
  )
210
210
  let uniformVerifiableCredential: IVerifiableCredential
211
211
  if (CredentialMapper.isSdJwtDecodedCredential(wrappedVerifiableCredential.credential)) {
212
- uniformVerifiableCredential = await sdJwtDecodedCredentialToUniformCredential(
213
- <SdJwtDecodedVerifiableCredential>wrappedVerifiableCredential.credential,
214
- )
212
+ uniformVerifiableCredential = sdJwtDecodedCredentialToUniformCredential(<SdJwtDecodedVerifiableCredential>wrappedVerifiableCredential.credential)
215
213
  } else if (CredentialMapper.isSdJwtEncoded(wrappedVerifiableCredential.credential)) {
216
214
  if (!hasher) {
217
215
  return Promise.reject('a hasher is required for encoded SD-JWT credentials')
@@ -384,7 +382,7 @@ export const getCredentialConfigsSupportedBySingleTypeOrId = async (
384
382
  }
385
383
 
386
384
  if (configurationId) {
387
- const allSupported = client.getCredentialsSupported(format)
385
+ const allSupported = client.getCredentialsSupported(undefined, format)
388
386
  return Object.fromEntries(
389
387
  Object.entries(allSupported).filter(
390
388
  ([id, supported]) => id === configurationId || supported.id === configurationId || createIdFromTypes(supported) === configurationId,
@@ -1,4 +1,5 @@
1
- import { OpenID4VCIClient, OpenID4VCIClientState } from '@sphereon/oid4vci-client'
1
+ import { DynamicRegistrationClientMetadata } from '@sphereon/oid4vc-common'
2
+ import { OpenID4VCIClientState, OpenID4VCIClientV1_0_15 } from '@sphereon/oid4vci-client'
2
3
  import {
3
4
  AuthorizationRequestOpts,
4
5
  AuthorizationResponse,
@@ -15,7 +16,6 @@ import {
15
16
  MetadataDisplay,
16
17
  NotificationRequest,
17
18
  } from '@sphereon/oid4vci-common'
18
- import { DynamicRegistrationClientMetadata } from '@sphereon/oid4vc-common'
19
19
  import { CreateOrGetIdentifierOpts, IdentifierProviderOpts, SupportedDidMethodEnum } from '@sphereon/ssi-sdk-ext.did-utils'
20
20
  import {
21
21
  IIdentifierResolution,
@@ -26,6 +26,7 @@ import {
26
26
  import { IJwtService } from '@sphereon/ssi-sdk-ext.jwt-service'
27
27
  import { IContactManager } from '@sphereon/ssi-sdk.contact-manager'
28
28
  import { ICredentialStore } from '@sphereon/ssi-sdk.credential-store'
29
+ import { ICredentialValidation, SchemaValidation } from '@sphereon/ssi-sdk.credential-validation'
29
30
  import {
30
31
  DigitalCredential,
31
32
  IBasicCredentialClaim,
@@ -38,7 +39,6 @@ import {
38
39
  import { IIssuanceBranding } from '@sphereon/ssi-sdk.issuance-branding'
39
40
  import { ImDLMdoc } from '@sphereon/ssi-sdk.mdl-mdoc'
40
41
  import { ISDJwtPlugin } from '@sphereon/ssi-sdk.sd-jwt'
41
- import { ICredentialValidation, SchemaValidation } from '@sphereon/ssi-sdk.credential-validation'
42
42
  import { IDidAuthSiopOpAuthenticator } from '@sphereon/ssi-sdk.siopv2-oid4vp-op-auth'
43
43
  import {
44
44
  HasherSync,
@@ -514,7 +514,7 @@ export type CredentialToAccept = {
514
514
  }
515
515
 
516
516
  export type GetCredentialConfigsSupportedArgs = {
517
- client: OpenID4VCIClient
517
+ client: OpenID4VCIClientV1_0_15
518
518
  vcFormatPreferences: Array<string>
519
519
  format?: Array<string>
520
520
  types?: Array<Array<string>>
@@ -526,7 +526,7 @@ export type GetCredentialConfigsSupportedArgs = {
526
526
  * It can potentially return multiple results mainly because of different formats.
527
527
  */
528
528
  export type GetCredentialConfigsSupportedBySingleTypeOrIdArgs = {
529
- client: OpenID4VCIClient
529
+ client: OpenID4VCIClientV1_0_15
530
530
  vcFormatPreferences: Array<string>
531
531
  format?: string[]
532
532
  types?: string[]
@@ -561,7 +561,7 @@ export type GetDefaultIssuanceOptsArgs = {
561
561
  }
562
562
 
563
563
  export type DefaultIssuanceOpts = {
564
- client: OpenID4VCIClient
564
+ client: OpenID4VCIClientV1_0_15
565
565
  }
566
566
 
567
567
  export type GetIdentifierArgs = {
@@ -598,7 +598,7 @@ export type CreateIdentifierCreateOpts = {
598
598
  }
599
599
 
600
600
  export type GetIssuanceOptsArgs = {
601
- client: OpenID4VCIClient
601
+ client: OpenID4VCIClientV1_0_15
602
602
  credentialsSupported: Record<string, CredentialConfigurationSupported>
603
603
  serverMetadata: EndpointMetadataResult
604
604
  context: RequiredContext
@@ -610,13 +610,13 @@ export type GetIssuanceOptsArgs = {
610
610
 
611
611
  export type GetIssuanceDidMethodArgs = {
612
612
  credentialSupported: CredentialConfigurationSupported
613
- client: OpenID4VCIClient
613
+ client: OpenID4VCIClientV1_0_15
614
614
  didMethodPreferences: Array<SupportedDidMethodEnum>
615
615
  }
616
616
 
617
617
  export type GetIssuanceCryptoSuiteArgs = {
618
618
  credentialSupported: CredentialConfigurationSupported
619
- client: OpenID4VCIClient
619
+ client: OpenID4VCIClientV1_0_15
620
620
  jwtCryptographicSuitePreferences: Array<JoseSignatureAlgorithm | JoseSignatureAlgorithmString>
621
621
  jsonldCryptographicSuitePreferences: Array<string>
622
622
  }
@@ -624,7 +624,7 @@ export type GetIssuanceCryptoSuiteArgs = {
624
624
  export type GetCredentialArgs = {
625
625
  pin?: string
626
626
  issuanceOpt: IssuanceOpts
627
- client: OpenID4VCIClient
627
+ client: OpenID4VCIClientV1_0_15
628
628
  accessTokenOpts?: AccessTokenOpts
629
629
  }
630
630