@sphereon/ssi-sdk.oid4vci-holder 0.32.1-feature.IATAB2B.52.204 → 0.32.1-feature.IATAB2B.57.cnf.211

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/link-handler/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,6BAA6B,EAAE,aAAa,EAA0B,MAAM,0BAA0B,CAAA;AACzI,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAClF,OAAO,EAAE,wBAAwB,EAA4B,iBAAiB,EAAE,MAAM,8CAA8C,CAAA;AACpI,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EACL,cAAc,EACd,cAAc,EAGf,MAAM,yBAAyB,CAAA;AAGhC;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,kBAAkB;IAC9D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0D;IAClF,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAuC;IAChF,OAAO,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAA0C;IAC7F,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAS;IACnD,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAA0B;IACpE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAA+B;IAC3D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAe;gBAG3C,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,yBAAyB,GAAG,0BAA0B,GAAG,YAAY,GAAG,cAAc,GAAG,mCAAmC,CAAC,GAAG;QACzJ,QAAQ,CAAC,EAAE,MAAM,GAAG,qBAAqB,CAAA;QACzC,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAA;QAClC,yBAAyB,CAAC,EAAE,OAAO,CAAA;QACnC,OAAO,EAAE,aAAa,CAAC,cAAc,GAAG,wBAAwB,CAAC,CAAA;KAClE;IAYG,MAAM,CACV,GAAG,EAAE,MAAM,GAAG,GAAG,EACjB,IAAI,CAAC,EAAE;QACL,YAAY,CAAC,EAAE,iBAAiB,CAAA;QAChC,wBAAwB,CAAC,EAAE,wBAAwB,CAAA;QACnD,6BAA6B,CAAC,EAAE,OAAO,CAAA;QACvC,UAAU,CAAC,EAAE,6BAA6B,CAAA;QAC1C,QAAQ,CAAC,EAAE,aAAa,CAAA;KACzB,GACA,OAAO,CAAC,IAAI,CAAC;CA4CjB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/link-handler/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,wBAAwB,EACxB,6BAA6B,EAC7B,aAAa,EAGd,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAClF,OAAO,EAAE,wBAAwB,EAA4B,iBAAiB,EAAE,MAAM,8CAA8C,CAAA;AACpI,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,cAAc,EAAE,cAAc,EAA+D,MAAM,yBAAyB,CAAA;AAIrI;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,kBAAkB;IAC9D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0D;IAClF,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAuC;IAChF,OAAO,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAA0C;IAC7F,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAS;IACnD,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAA0B;IACpE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAA+B;IAC3D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAe;gBAG3C,IAAI,EAAE,IAAI,CACR,cAAc,EACd,yBAAyB,GAAG,0BAA0B,GAAG,YAAY,GAAG,cAAc,GAAG,mCAAmC,CAC7H,GAAG;QACF,QAAQ,CAAC,EAAE,MAAM,GAAG,qBAAqB,CAAA;QACzC,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAA;QAClC,yBAAyB,CAAC,EAAE,OAAO,CAAA;QACnC,OAAO,EAAE,aAAa,CAAC,cAAc,GAAG,wBAAwB,CAAC,CAAA;KAClE;IAYG,MAAM,CACV,GAAG,EAAE,MAAM,GAAG,GAAG,EACjB,IAAI,CAAC,EAAE;QACL,YAAY,CAAC,EAAE,iBAAiB,CAAA;QAChC,wBAAwB,CAAC,EAAE,wBAAwB,CAAA;QACnD,6BAA6B,CAAC,EAAE,OAAO,CAAA;QACvC,UAAU,CAAC,EAAE,6BAA6B,CAAA;QAC1C,QAAQ,CAAC,EAAE,aAAa,CAAA;KACzB,GACA,OAAO,CAAC,IAAI,CAAC;CA2DjB"}
@@ -15,6 +15,7 @@ const oid4vci_common_1 = require("@sphereon/oid4vci-common");
15
15
  const ssi_sdk_core_1 = require("@sphereon/ssi-sdk.core");
16
16
  const ssi_sdk_xstate_machine_persistence_1 = require("@sphereon/ssi-sdk.xstate-machine-persistence");
17
17
  const IOID4VCIHolder_1 = require("../types/IOID4VCIHolder");
18
+ const cross_fetch_1 = require("cross-fetch");
18
19
  /**
19
20
  * This handler only handles credential offer links (either by value or by reference)
20
21
  */
@@ -31,8 +32,21 @@ class OID4VCIHolderLinkHandler extends ssi_sdk_core_1.LinkHandlerAdapter {
31
32
  }
32
33
  handle(url, opts) {
33
34
  return __awaiter(this, void 0, void 0, function* () {
35
+ var _a;
34
36
  const uri = new URL(url).toString();
35
- const offerData = (0, oid4vci_common_1.convertURIToJsonObject)(uri);
37
+ let offerData = (0, oid4vci_common_1.convertURIToJsonObject)(uri);
38
+ if ('credential_offer_uri' in offerData) {
39
+ const credentialOfferUri = offerData['credential_offer_uri'];
40
+ const uri = decodeURIComponent(credentialOfferUri);
41
+ const response = yield (0, cross_fetch_1.fetch)(uri);
42
+ if (!(response && response.status >= 200 && response.status < 400)) {
43
+ return Promise.reject(`the credential offer URI endpoint call was not successful. http code ${response.status} - reason ${response.statusText}`);
44
+ }
45
+ if (((_a = response.headers.get('Content-Type')) === null || _a === void 0 ? void 0 : _a.startsWith('application/json')) === false) {
46
+ return Promise.reject('the credential offer URI endpoint did not return content type application/json');
47
+ }
48
+ offerData = (0, oid4vci_common_1.decodeJsonProperties)(yield response.json());
49
+ }
36
50
  const hasCode = 'code' in offerData && !!offerData.code && !('issuer' in offerData);
37
51
  const code = hasCode ? offerData.code : undefined;
38
52
  const clientOpts = Object.assign(Object.assign({}, this.clientOpts), opts === null || opts === void 0 ? void 0 : opts.clientOpts);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/link-handler/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/link-handler/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sphereon/ssi-sdk.oid4vci-holder",
3
- "version": "0.32.1-feature.IATAB2B.52.204+a2055651",
3
+ "version": "0.32.1-feature.IATAB2B.57.cnf.211+1e74eca9",
4
4
  "source": "src/index.ts",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -14,26 +14,26 @@
14
14
  "build:clean": "tsc --build --clean && tsc --build"
15
15
  },
16
16
  "dependencies": {
17
- "@sphereon/did-auth-siop": "0.16.1-feature.IATAB2B.52.355",
17
+ "@sphereon/did-auth-siop": "0.16.1-feature.IATAB2B.57.cnf.370",
18
18
  "@sphereon/kmp-mdoc-core": "0.2.0-SNAPSHOT.26",
19
- "@sphereon/oid4vci-client": "0.16.1-feature.IATAB2B.52.355",
20
- "@sphereon/oid4vci-common": "0.16.1-feature.IATAB2B.52.355",
19
+ "@sphereon/oid4vci-client": "0.16.1-feature.IATAB2B.57.cnf.370",
20
+ "@sphereon/oid4vci-common": "0.16.1-feature.IATAB2B.57.cnf.370",
21
21
  "@sphereon/ssi-sdk-ext.did-utils": "0.27.0",
22
22
  "@sphereon/ssi-sdk-ext.identifier-resolution": "0.27.0",
23
23
  "@sphereon/ssi-sdk-ext.jwt-service": "0.27.0",
24
24
  "@sphereon/ssi-sdk-ext.key-utils": "0.27.0",
25
- "@sphereon/ssi-sdk.contact-manager": "0.32.1-feature.IATAB2B.52.204+a2055651",
26
- "@sphereon/ssi-sdk.core": "0.32.1-feature.IATAB2B.52.204+a2055651",
27
- "@sphereon/ssi-sdk.credential-store": "0.32.1-feature.IATAB2B.52.204+a2055651",
28
- "@sphereon/ssi-sdk.credential-validation": "0.32.1-feature.IATAB2B.52.204+a2055651",
29
- "@sphereon/ssi-sdk.data-store": "0.32.1-feature.IATAB2B.52.204+a2055651",
30
- "@sphereon/ssi-sdk.issuance-branding": "0.32.1-feature.IATAB2B.52.204+a2055651",
31
- "@sphereon/ssi-sdk.mdl-mdoc": "0.32.1-feature.IATAB2B.52.204+a2055651",
32
- "@sphereon/ssi-sdk.oidf-client": "0.32.1-feature.IATAB2B.52.204+a2055651",
33
- "@sphereon/ssi-sdk.sd-jwt": "0.32.1-feature.IATAB2B.52.204+a2055651",
34
- "@sphereon/ssi-sdk.siopv2-oid4vp-op-auth": "0.32.1-feature.IATAB2B.52.204+a2055651",
35
- "@sphereon/ssi-sdk.xstate-machine-persistence": "0.32.1-feature.IATAB2B.52.204+a2055651",
36
- "@sphereon/ssi-types": "0.32.1-feature.IATAB2B.52.204+a2055651",
25
+ "@sphereon/ssi-sdk.contact-manager": "0.32.1-feature.IATAB2B.57.cnf.211+1e74eca9",
26
+ "@sphereon/ssi-sdk.core": "0.32.1-feature.IATAB2B.57.cnf.211+1e74eca9",
27
+ "@sphereon/ssi-sdk.credential-store": "0.32.1-feature.IATAB2B.57.cnf.211+1e74eca9",
28
+ "@sphereon/ssi-sdk.credential-validation": "0.32.1-feature.IATAB2B.57.cnf.211+1e74eca9",
29
+ "@sphereon/ssi-sdk.data-store": "0.32.1-feature.IATAB2B.57.cnf.211+1e74eca9",
30
+ "@sphereon/ssi-sdk.issuance-branding": "0.32.1-feature.IATAB2B.57.cnf.211+1e74eca9",
31
+ "@sphereon/ssi-sdk.mdl-mdoc": "0.32.1-feature.IATAB2B.57.cnf.211+1e74eca9",
32
+ "@sphereon/ssi-sdk.oidf-client": "0.32.1-feature.IATAB2B.57.cnf.211+1e74eca9",
33
+ "@sphereon/ssi-sdk.sd-jwt": "0.32.1-feature.IATAB2B.57.cnf.211+1e74eca9",
34
+ "@sphereon/ssi-sdk.siopv2-oid4vp-op-auth": "0.32.1-feature.IATAB2B.57.cnf.211+1e74eca9",
35
+ "@sphereon/ssi-sdk.xstate-machine-persistence": "0.32.1-feature.IATAB2B.57.cnf.211+1e74eca9",
36
+ "@sphereon/ssi-types": "0.32.1-feature.IATAB2B.57.cnf.211+1e74eca9",
37
37
  "@veramo/core": "4.2.0",
38
38
  "@veramo/data-store": "4.2.0",
39
39
  "@veramo/utils": "4.2.0",
@@ -45,9 +45,9 @@
45
45
  "xstate": "^4.38.3"
46
46
  },
47
47
  "devDependencies": {
48
- "@sphereon/oid4vc-common": "0.16.1-feature.IATAB2B.52.355",
48
+ "@sphereon/oid4vc-common": "0.16.1-feature.IATAB2B.57.cnf.370",
49
49
  "@sphereon/ssi-sdk-ext.did-resolver-jwk": "0.27.0",
50
- "@sphereon/ssi-sdk.siopv2-oid4vp-common": "0.32.1-feature.IATAB2B.52.204+a2055651",
50
+ "@sphereon/ssi-sdk.siopv2-oid4vp-common": "0.32.1-feature.IATAB2B.57.cnf.211+1e74eca9",
51
51
  "@types/i18n-js": "^3.8.9",
52
52
  "@types/lodash.memoize": "^4.1.9",
53
53
  "@types/uuid": "^9.0.8",
@@ -77,5 +77,5 @@
77
77
  "State Machine"
78
78
  ],
79
79
  "nx": {},
80
- "gitHead": "a2055651f52bc77d724e18e5cf642e8ff1ee7c14"
80
+ "gitHead": "1e74eca98eec9cdb54de01456452e77ff012e12a"
81
81
  }
@@ -1,15 +1,17 @@
1
1
  import { CredentialOfferClient } from '@sphereon/oid4vci-client'
2
- import { AuthorizationRequestOpts, AuthorizationServerClientOpts, AuthzFlowType, convertURIToJsonObject } from '@sphereon/oid4vci-common'
2
+ import {
3
+ AuthorizationRequestOpts,
4
+ AuthorizationServerClientOpts,
5
+ AuthzFlowType,
6
+ convertURIToJsonObject,
7
+ decodeJsonProperties,
8
+ } from '@sphereon/oid4vci-common'
3
9
  import { DefaultLinkPriorities, LinkHandlerAdapter } from '@sphereon/ssi-sdk.core'
4
10
  import { IMachineStatePersistence, interpreterStartOrResume, SerializableState } from '@sphereon/ssi-sdk.xstate-machine-persistence'
5
11
  import { IAgentContext } from '@veramo/core'
6
- import {
7
- GetMachineArgs,
8
- IOID4VCIHolder,
9
- OID4VCIMachineEvents,
10
- OID4VCIMachineStateNavigationListener
11
- } from '../types/IOID4VCIHolder'
12
+ import { GetMachineArgs, IOID4VCIHolder, OID4VCIMachineEvents, OID4VCIMachineStateNavigationListener } from '../types/IOID4VCIHolder'
12
13
  import { FirstPartyMachineStateNavigationListener } from '../types/FirstPartyMachine'
14
+ import { fetch } from 'cross-fetch'
13
15
 
14
16
  /**
15
17
  * This handler only handles credential offer links (either by value or by reference)
@@ -24,7 +26,10 @@ export class OID4VCIHolderLinkHandler extends LinkHandlerAdapter {
24
26
  private readonly trustAnchors?: Array<string>
25
27
 
26
28
  constructor(
27
- args: Pick<GetMachineArgs, 'stateNavigationListener' | 'authorizationRequestOpts' | 'clientOpts' | 'trustAnchors' | 'firstPartyStateNavigationListener'> & {
29
+ args: Pick<
30
+ GetMachineArgs,
31
+ 'stateNavigationListener' | 'authorizationRequestOpts' | 'clientOpts' | 'trustAnchors' | 'firstPartyStateNavigationListener'
32
+ > & {
28
33
  priority?: number | DefaultLinkPriorities
29
34
  protocols?: Array<string | RegExp>
30
35
  noStateMachinePersistence?: boolean
@@ -52,7 +57,22 @@ export class OID4VCIHolderLinkHandler extends LinkHandlerAdapter {
52
57
  },
53
58
  ): Promise<void> {
54
59
  const uri = new URL(url).toString()
55
- const offerData = convertURIToJsonObject(uri) as Record<string, unknown>
60
+ let offerData = convertURIToJsonObject(uri) as Record<string, unknown>
61
+ if ('credential_offer_uri' in offerData) {
62
+ const credentialOfferUri = offerData['credential_offer_uri'] as string
63
+ const uri = decodeURIComponent(credentialOfferUri)
64
+ const response = await fetch(uri)
65
+ if (!(response && response.status >= 200 && response.status < 400)) {
66
+ return Promise.reject(
67
+ `the credential offer URI endpoint call was not successful. http code ${response.status} - reason ${response.statusText}`,
68
+ )
69
+ }
70
+
71
+ if (response.headers.get('Content-Type')?.startsWith('application/json') === false) {
72
+ return Promise.reject('the credential offer URI endpoint did not return content type application/json')
73
+ }
74
+ offerData = decodeJsonProperties(await response.json()) as Record<string, unknown>
75
+ }
56
76
  const hasCode = 'code' in offerData && !!offerData.code && !('issuer' in offerData)
57
77
  const code = hasCode ? (offerData.code as string) : undefined
58
78
  const clientOpts = { ...this.clientOpts, ...opts?.clientOpts }
@@ -69,7 +89,7 @@ export class OID4VCIHolderLinkHandler extends LinkHandlerAdapter {
69
89
  authorizationRequestOpts: { ...this.authorizationRequestOpts, ...opts?.authorizationRequestOpts },
70
90
  ...((clientOpts.clientId || clientOpts.clientAssertionType) && { clientOpts: clientOpts as AuthorizationServerClientOpts }),
71
91
  stateNavigationListener: this.stateNavigationListener,
72
- firstPartyStateNavigationListener: this.firstPartyStateNavigationListener
92
+ firstPartyStateNavigationListener: this.firstPartyStateNavigationListener,
73
93
  })
74
94
 
75
95
  const interpreter = oid4vciMachine.interpreter