@sphereon/ssi-sdk.ebsi-support 0.34.1-next.91 → 0.36.1-feat.SSISDK.83.3

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.ebsi-support",
3
- "version": "0.34.1-next.91+3c949810",
3
+ "version": "0.36.1-feat.SSISDK.83.3+08adc8a3",
4
4
  "source": "src/index.ts",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -27,21 +27,21 @@
27
27
  },
28
28
  "dependencies": {
29
29
  "@ethersproject/random": "^5.7.0",
30
- "@sphereon/did-auth-siop": "0.19.1-feature.SSISDK.45.90",
31
- "@sphereon/did-auth-siop-adapter": "0.19.1-feature.SSISDK.45.90",
30
+ "@sphereon/did-auth-siop": "0.20.0",
31
+ "@sphereon/did-auth-siop-adapter": "0.20.0",
32
32
  "@sphereon/pex": "5.0.0-unstable.28",
33
33
  "@sphereon/pex-models": "^2.3.2",
34
- "@sphereon/ssi-sdk-ext.did-resolver-ebsi": "0.34.1-next.91+3c949810",
35
- "@sphereon/ssi-sdk-ext.did-utils": "0.34.1-next.91+3c949810",
36
- "@sphereon/ssi-sdk-ext.identifier-resolution": "0.34.1-next.91+3c949810",
37
- "@sphereon/ssi-sdk-ext.jwt-service": "0.34.1-next.91+3c949810",
38
- "@sphereon/ssi-sdk-ext.key-utils": "0.34.1-next.91+3c949810",
39
- "@sphereon/ssi-sdk.contact-manager": "0.34.1-next.91+3c949810",
40
- "@sphereon/ssi-sdk.core": "0.34.1-next.91+3c949810",
41
- "@sphereon/ssi-sdk.oid4vci-holder": "0.34.1-next.91+3c949810",
42
- "@sphereon/ssi-sdk.presentation-exchange": "0.34.1-next.91+3c949810",
43
- "@sphereon/ssi-sdk.siopv2-oid4vp-op-auth": "0.34.1-next.91+3c949810",
44
- "@sphereon/ssi-types": "0.34.1-next.91+3c949810",
34
+ "@sphereon/ssi-sdk-ext.did-resolver-ebsi": "0.36.1-feat.SSISDK.83.3+08adc8a3",
35
+ "@sphereon/ssi-sdk-ext.did-utils": "0.36.1-feat.SSISDK.83.3+08adc8a3",
36
+ "@sphereon/ssi-sdk-ext.identifier-resolution": "0.36.1-feat.SSISDK.83.3+08adc8a3",
37
+ "@sphereon/ssi-sdk-ext.jwt-service": "0.36.1-feat.SSISDK.83.3+08adc8a3",
38
+ "@sphereon/ssi-sdk-ext.key-utils": "0.36.1-feat.SSISDK.83.3+08adc8a3",
39
+ "@sphereon/ssi-sdk.contact-manager": "0.36.1-feat.SSISDK.83.3+08adc8a3",
40
+ "@sphereon/ssi-sdk.core": "0.36.1-feat.SSISDK.83.3+08adc8a3",
41
+ "@sphereon/ssi-sdk.oid4vci-holder": "0.36.1-feat.SSISDK.83.3+08adc8a3",
42
+ "@sphereon/ssi-sdk.presentation-exchange": "0.36.1-feat.SSISDK.83.3+08adc8a3",
43
+ "@sphereon/ssi-sdk.siopv2-oid4vp-op-auth": "0.36.1-feat.SSISDK.83.3+08adc8a3",
44
+ "@sphereon/ssi-types": "0.36.1-feat.SSISDK.83.3+08adc8a3",
45
45
  "@veramo/core": "4.2.0",
46
46
  "@veramo/did-manager": "4.2.0",
47
47
  "@veramo/utils": "4.2.0",
@@ -56,14 +56,15 @@
56
56
  "xstate": "^4.38.3"
57
57
  },
58
58
  "devDependencies": {
59
- "@sphereon/oid4vci-client": "0.19.1-feature.SSISDK.45.90",
60
- "@sphereon/oid4vci-common": "0.19.1-feature.SSISDK.45.90",
61
- "@sphereon/ssi-express-support": "0.34.1-next.91+3c949810",
62
- "@sphereon/ssi-sdk-ext.key-manager": "0.34.1-next.91+3c949810",
63
- "@sphereon/ssi-sdk-ext.kms-local": "0.34.1-next.91+3c949810",
64
- "@sphereon/ssi-sdk.agent-config": "0.34.1-next.91+3c949810",
65
- "@sphereon/ssi-sdk.data-store": "0.34.1-next.91+3c949810",
66
- "@sphereon/ssi-sdk.public-key-hosting": "0.34.1-next.91+3c949810",
59
+ "@sphereon/oid4vci-client": "0.20.0",
60
+ "@sphereon/oid4vci-common": "0.20.0",
61
+ "@sphereon/ssi-express-support": "0.36.1-feat.SSISDK.83.3+08adc8a3",
62
+ "@sphereon/ssi-sdk-ext.key-manager": "0.36.1-feat.SSISDK.83.3+08adc8a3",
63
+ "@sphereon/ssi-sdk-ext.kms-local": "0.36.1-feat.SSISDK.83.3+08adc8a3",
64
+ "@sphereon/ssi-sdk.agent-config": "0.36.1-feat.SSISDK.83.3+08adc8a3",
65
+ "@sphereon/ssi-sdk.data-store": "0.36.1-feat.SSISDK.83.3+08adc8a3",
66
+ "@sphereon/ssi-sdk.data-store-types": "0.36.1-feat.SSISDK.83.3+08adc8a3",
67
+ "@sphereon/ssi-sdk.public-key-hosting": "0.36.1-feat.SSISDK.83.3+08adc8a3",
67
68
  "@transmute/json-web-signature": "0.7.0-unstable.81",
68
69
  "@types/cors": "^2.8.17",
69
70
  "@types/express": "^4.17.21",
@@ -98,5 +99,5 @@
98
99
  "EBSI",
99
100
  "EBSI Authorization Client"
100
101
  ],
101
- "gitHead": "3c9498100ca07dfc2ba7979e7347fb9b19c47d18"
102
+ "gitHead": "08adc8a36bd361bbae337829b04343fd37de5803"
102
103
  }
@@ -217,15 +217,15 @@ export class EbsiSupport implements IAgentPlugin {
217
217
 
218
218
  const presentationSubmission = { id: v4(), definition_id: definitionResponse.id, descriptor_map: [] } satisfies PresentationSubmission
219
219
  // FIXME SSISDK-40
220
- //hasInputDescriptors
221
- //? vp.presentationSubmission
222
- //: ({ id: v4(), definition_id: definitionResponse.id, descriptor_map: [] } satisfies PresentationSubmission)
220
+ //hasInputDescriptors
221
+ //? vp.presentationSubmission
222
+ //: ({ id: v4(), definition_id: definitionResponse.id, descriptor_map: [] } satisfies PresentationSubmission)
223
223
 
224
224
  console.log(`Presentation submission`, presentationSubmission)
225
225
  const tokenRequestArgs = {
226
226
  grant_type: 'vp_token',
227
227
  // FIXME SSISDK-40
228
- vp_token: '',//CredentialMapper.toCompactJWT(vp.verifiablePresentations[0]), // FIXME How are we going to send multiple presentations in a vp_token?
228
+ vp_token: '', //CredentialMapper.toCompactJWT(vp.verifiablePresentations[0]), // FIXME How are we going to send multiple presentations in a vp_token?
229
229
  scope,
230
230
  presentation_submission: presentationSubmission,
231
231
  apiOpts: { environment, version: 'v4' },
@@ -236,7 +236,7 @@ export const toMinimalImportableKey = async (args: { key?: IKeyOpts; type: EbsiK
236
236
  }
237
237
 
238
238
  minimalImportableKey.meta = {
239
- purposes: assertedPurposes({ key }) ?? setDefaultPurposes({ key, type }),
239
+ purposes: assertedPurposes({ key }) ?? setPurposes({ key, type }),
240
240
  jwkThumbprint: calculateJwkThumbprintForKey({
241
241
  key: minimalImportableKey as MinimalImportableKey,
242
242
  digestAlgorithm: 'sha256',
@@ -275,7 +275,7 @@ export const assertedPurposes = (args: { key?: IKeyOpts }): EbsiPublicKeyPurpose
275
275
  return key?.purposes
276
276
  }
277
277
 
278
- export const setDefaultPurposes = (args: { key?: IKeyOpts; type: EbsiKeyType }): EbsiPublicKeyPurpose[] => {
278
+ export const setPurposes = (args: { key?: IKeyOpts; type: EbsiKeyType }): EbsiPublicKeyPurpose[] => {
279
279
  const { key, type } = args
280
280
  if (!key?.purposes || key.purposes.length === 0) {
281
281
  switch (type) {
package/src/did/index.ts CHANGED
@@ -3,3 +3,4 @@ export { getDidEbsiResolver } from './EbsiDidResolver'
3
3
  export { ebsiCreateDidOnLedger, randomRpcId, ebsiSignAndSendTransaction, ebsiGetRegistryAPIUrls } from './functions'
4
4
  export * from './services/EbsiRestService'
5
5
  export * from './types'
6
+ export * from './functions'
package/src/did/types.ts CHANGED
@@ -4,7 +4,7 @@ import { IService } from '@veramo/core'
4
4
  import { DIDDocument } from 'did-resolver'
5
5
  import { AccessListish, BigNumberish, BytesLike } from 'ethers'
6
6
  import { ApiOpts, EbsiEnvironment } from '../types/IEbsiSupport'
7
- import { CredentialRole } from '@sphereon/ssi-sdk.data-store'
7
+ import { CredentialRole } from '@sphereon/ssi-types'
8
8
 
9
9
  export type IContext = IAgentContext<IKeyManager>
10
10
 
@@ -1,10 +1,11 @@
1
1
  import { OpenID4VCIClient } from '@sphereon/oid4vci-client'
2
2
  import {
3
3
  Alg,
4
- AuthorizationDetails,
4
+ AuthorizationDetailsV1_0_15,
5
5
  AuthorizationRequestOpts,
6
6
  AuthzFlowType,
7
7
  CredentialConfigurationSupported,
8
+ CredentialConfigurationSupportedV1_0_15,
8
9
  getJson,
9
10
  getTypesFromCredentialSupported,
10
11
  ProofOfPossessionCallbacks,
@@ -29,7 +30,7 @@ import {
29
30
  Siopv2OID4VPLinkHandler,
30
31
  } from '@sphereon/ssi-sdk.siopv2-oid4vp-op-auth'
31
32
  import { _ExtendedIKey } from '@veramo/utils'
32
- import { waitFor } from 'xstate/lib/waitFor'
33
+ import { waitFor } from 'xstate/lib/waitFor.js'
33
34
  import { logger } from '../index'
34
35
  import { AttestationResult, CreateAttestationAuthRequestURLArgs, EbsiEnvironment, GetAttestationArgs, IRequiredContext } from '../types/IEbsiSupport'
35
36
  import {
@@ -101,7 +102,7 @@ export const ebsiCreateAttestationAuthRequestURL = async (
101
102
  retrieveServerMetadata: true,
102
103
  })
103
104
 
104
- const allMatches = vciClient.getCredentialsSupported(false)
105
+ const allMatches = {} as Record<string, CredentialConfigurationSupportedV1_0_15> | Array<CredentialConfigurationSupported> // vciClient.getCredentialsSupported(format) FIXME SSISDK-40
105
106
  let arrayMatches: Array<CredentialConfigurationSupported>
106
107
  if (Array.isArray(allMatches)) {
107
108
  arrayMatches = allMatches
@@ -118,11 +119,15 @@ export const ebsiCreateAttestationAuthRequestURL = async (
118
119
  throw Error(`Could not find '${credentialType}' with format(s) '${formats.join(',')}' in list of supported types for issuer: ${credentialIssuer}`)
119
120
  }
120
121
  const authorizationDetails = supportedConfigurations.map((supported) => {
122
+ const credential_configuration_id = supported.id as string
123
+ if (!credential_configuration_id) {
124
+ throw Error(`Credential configuration id missing for credential type: ${credentialType}`)
125
+ }
121
126
  return {
122
127
  type: 'openid_credential',
123
- format: supported.format,
124
- types: getTypesFromCredentialSupported(supported),
125
- } as AuthorizationDetails
128
+ credential_configuration_id,
129
+ credential_identifiers: getTypesFromCredentialSupported(supported),
130
+ } satisfies AuthorizationDetailsV1_0_15
126
131
  })
127
132
 
128
133
  const signCallbacks: ProofOfPossessionCallbacks = requestObjectOpts.signCallbacks ?? {
@@ -3,15 +3,15 @@ import { getIssuerName } from '@sphereon/oid4vci-common'
3
3
  import {
4
4
  ConnectionType,
5
5
  CorrelationIdentifierType,
6
- CredentialRole,
7
6
  IdentityOrigin,
8
7
  NonPersistedParty,
9
8
  Party,
10
9
  PartyOrigin,
11
10
  PartyTypeType,
12
- } from '@sphereon/ssi-sdk.data-store'
11
+ } from '@sphereon/ssi-sdk.data-store-types'
13
12
  import { OID4VCIMachine, OID4VCIMachineEvents, OID4VCIMachineInterpreter, OID4VCIMachineState } from '@sphereon/ssi-sdk.oid4vci-holder'
14
13
  import { Siopv2MachineInterpreter, Siopv2MachineState, Siopv2OID4VPLinkHandler } from '@sphereon/ssi-sdk.siopv2-oid4vp-op-auth'
14
+ import { CredentialRole } from '@sphereon/ssi-types'
15
15
  import fetch from 'cross-fetch'
16
16
  import { logger } from '../index'
17
17
  import { IRequiredContext } from '../types/IEbsiSupport'
package/src/index.ts CHANGED
@@ -8,4 +8,4 @@ const schema = require('../plugin.schema.json')
8
8
  export { schema }
9
9
  export { EbsiSupport, ebsiSupportMethods } from './agent/EbsiSupport'
10
10
  export * from './types/IEbsiSupport'
11
- export { EbsiDidProvider } from './did'
11
+ export * from './did'
@@ -3,7 +3,8 @@ import { OID4VCICredentialFormat, RequestObjectOpts } from '@sphereon/oid4vci-co
3
3
  import { Format, PresentationDefinitionV2 } from '@sphereon/pex-models'
4
4
  import { IIdentifierResolution, ManagedIdentifierDidOpts, ManagedIdentifierDidResult } from '@sphereon/ssi-sdk-ext.identifier-resolution'
5
5
  import { IJwtService } from '@sphereon/ssi-sdk-ext.jwt-service'
6
- import { CredentialRole, IBasicCredentialLocaleBranding, Party } from '@sphereon/ssi-sdk.data-store'
6
+ import { IBasicCredentialLocaleBranding, Party } from '@sphereon/ssi-sdk.data-store-types'
7
+ import { CredentialRole } from '@sphereon/ssi-types'
7
8
  import { ErrorDetails, IOID4VCIHolder, MappedCredentialToAccept } from '@sphereon/ssi-sdk.oid4vci-holder'
8
9
  import { IPresentationExchange } from '@sphereon/ssi-sdk.presentation-exchange'
9
10
  import { IDidAuthSiopOpAuthenticator } from '@sphereon/ssi-sdk.siopv2-oid4vp-op-auth'