@sphereon/oid4vci-common 0.10.3 → 0.10.4-next.14

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.
Files changed (52) hide show
  1. package/dist/events/index.d.ts +17 -0
  2. package/dist/events/index.d.ts.map +1 -0
  3. package/dist/events/index.js +21 -0
  4. package/dist/events/index.js.map +1 -0
  5. package/dist/experimental/holder-vci.d.ts +10 -0
  6. package/dist/experimental/holder-vci.d.ts.map +1 -0
  7. package/dist/experimental/holder-vci.js +33 -0
  8. package/dist/experimental/holder-vci.js.map +1 -0
  9. package/dist/functions/CredentialRequestUtil.d.ts.map +1 -1
  10. package/dist/functions/CredentialRequestUtil.js +3 -0
  11. package/dist/functions/CredentialRequestUtil.js.map +1 -1
  12. package/dist/functions/Encoding.d.ts +7 -6
  13. package/dist/functions/Encoding.d.ts.map +1 -1
  14. package/dist/functions/Encoding.js +9 -8
  15. package/dist/functions/Encoding.js.map +1 -1
  16. package/dist/functions/ProofUtil.d.ts +36 -0
  17. package/dist/functions/ProofUtil.d.ts.map +1 -0
  18. package/dist/functions/ProofUtil.js +138 -0
  19. package/dist/functions/ProofUtil.js.map +1 -0
  20. package/dist/functions/index.d.ts +1 -0
  21. package/dist/functions/index.d.ts.map +1 -1
  22. package/dist/functions/index.js +1 -0
  23. package/dist/functions/index.js.map +1 -1
  24. package/dist/index.d.ts +2 -0
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +2 -0
  27. package/dist/index.js.map +1 -1
  28. package/dist/types/CredentialIssuance.types.d.ts +4 -2
  29. package/dist/types/CredentialIssuance.types.d.ts.map +1 -1
  30. package/dist/types/CredentialIssuance.types.js.map +1 -1
  31. package/dist/types/Generic.types.d.ts +20 -3
  32. package/dist/types/Generic.types.d.ts.map +1 -1
  33. package/dist/types/Generic.types.js.map +1 -1
  34. package/dist/types/StateManager.types.d.ts +1 -0
  35. package/dist/types/StateManager.types.d.ts.map +1 -1
  36. package/dist/types/StateManager.types.js.map +1 -1
  37. package/dist/types/index.d.ts +3 -0
  38. package/dist/types/index.d.ts.map +1 -1
  39. package/dist/types/index.js +4 -0
  40. package/dist/types/index.js.map +1 -1
  41. package/lib/events/index.ts +20 -0
  42. package/lib/experimental/holder-vci.ts +20 -0
  43. package/lib/functions/CredentialRequestUtil.ts +3 -0
  44. package/lib/functions/Encoding.ts +17 -9
  45. package/lib/functions/ProofUtil.ts +169 -0
  46. package/lib/functions/index.ts +1 -0
  47. package/lib/index.ts +2 -0
  48. package/lib/types/CredentialIssuance.types.ts +5 -2
  49. package/lib/types/Generic.types.ts +34 -10
  50. package/lib/types/StateManager.types.ts +1 -0
  51. package/lib/types/index.ts +7 -0
  52. package/package.json +3 -11
@@ -0,0 +1,17 @@
1
+ import { EventManager } from '@sphereon/ssi-types';
2
+ export type EventNames = CredentialOfferEventNames | NotificationStatusEventNames | LogEvents | CredentialEventNames;
3
+ export declare enum CredentialOfferEventNames {
4
+ OID4VCI_OFFER_CREATED = "OID4VCI_OFFER_CREATED",
5
+ OID4VCI_OFFER_EXPIRED = "OID4VCI_OFFER_EXPIRED",
6
+ OID4VCI_OFFER_DELETED = "OID4VCI_OFFER_DELETED"
7
+ }
8
+ export declare enum CredentialEventNames {
9
+ OID4VCI_CREDENTIAL_ISSUED = "OID4VCI_CREDENTIAL_ISSUED"
10
+ }
11
+ export declare enum NotificationStatusEventNames {
12
+ OID4VCI_NOTIFICATION_RECEIVED = "OID4VCI_NOTIFICATION_RECEIVED",
13
+ OID4VCI_NOTIFICATION_PROCESSED = "OID4VCI_NOTIFICATION_PROCESSED"
14
+ }
15
+ export type LogEvents = 'oid4vciLog';
16
+ export declare const EVENTS: EventManager;
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/events/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,MAAM,MAAM,UAAU,GAAG,yBAAyB,GAAG,4BAA4B,GAAG,SAAS,GAAG,oBAAoB,CAAC;AAErH,oBAAY,yBAAyB;IACnC,qBAAqB,0BAA0B;IAC/C,qBAAqB,0BAA0B;IAC/C,qBAAqB,0BAA0B;CAChD;AAED,oBAAY,oBAAoB;IAC9B,yBAAyB,8BAA8B;CACxD;AAED,oBAAY,4BAA4B;IACtC,6BAA6B,kCAAkC;IAC/D,8BAA8B,mCAAmC;CAClE;AACD,MAAM,MAAM,SAAS,GAAG,YAAY,CAAC;AACrC,eAAO,MAAM,MAAM,cAA0B,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EVENTS = exports.NotificationStatusEventNames = exports.CredentialEventNames = exports.CredentialOfferEventNames = void 0;
4
+ const ssi_types_1 = require("@sphereon/ssi-types");
5
+ var CredentialOfferEventNames;
6
+ (function (CredentialOfferEventNames) {
7
+ CredentialOfferEventNames["OID4VCI_OFFER_CREATED"] = "OID4VCI_OFFER_CREATED";
8
+ CredentialOfferEventNames["OID4VCI_OFFER_EXPIRED"] = "OID4VCI_OFFER_EXPIRED";
9
+ CredentialOfferEventNames["OID4VCI_OFFER_DELETED"] = "OID4VCI_OFFER_DELETED";
10
+ })(CredentialOfferEventNames || (exports.CredentialOfferEventNames = CredentialOfferEventNames = {}));
11
+ var CredentialEventNames;
12
+ (function (CredentialEventNames) {
13
+ CredentialEventNames["OID4VCI_CREDENTIAL_ISSUED"] = "OID4VCI_CREDENTIAL_ISSUED";
14
+ })(CredentialEventNames || (exports.CredentialEventNames = CredentialEventNames = {}));
15
+ var NotificationStatusEventNames;
16
+ (function (NotificationStatusEventNames) {
17
+ NotificationStatusEventNames["OID4VCI_NOTIFICATION_RECEIVED"] = "OID4VCI_NOTIFICATION_RECEIVED";
18
+ NotificationStatusEventNames["OID4VCI_NOTIFICATION_PROCESSED"] = "OID4VCI_NOTIFICATION_PROCESSED";
19
+ })(NotificationStatusEventNames || (exports.NotificationStatusEventNames = NotificationStatusEventNames = {}));
20
+ exports.EVENTS = ssi_types_1.EventManager.instance();
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/events/index.ts"],"names":[],"mappings":";;;AAAA,mDAAmD;AAInD,IAAY,yBAIX;AAJD,WAAY,yBAAyB;IACnC,4EAA+C,CAAA;IAC/C,4EAA+C,CAAA;IAC/C,4EAA+C,CAAA;AACjD,CAAC,EAJW,yBAAyB,yCAAzB,yBAAyB,QAIpC;AAED,IAAY,oBAEX;AAFD,WAAY,oBAAoB;IAC9B,+EAAuD,CAAA;AACzD,CAAC,EAFW,oBAAoB,oCAApB,oBAAoB,QAE/B;AAED,IAAY,4BAGX;AAHD,WAAY,4BAA4B;IACtC,+FAA+D,CAAA;IAC/D,iGAAiE,CAAA;AACnE,CAAC,EAHW,4BAA4B,4CAA5B,4BAA4B,QAGvC;AAEY,QAAA,MAAM,GAAG,wBAAY,CAAC,QAAQ,EAAE,CAAC"}
@@ -0,0 +1,10 @@
1
+ export declare const EXPERIMENTAL_SUBJECT_PROOF_MODE_ENABLED: boolean;
2
+ export type SubjectProofMode = 'proof_chain' | 'proof_set' | 'proof_replace';
3
+ export type SubjectProofNotificationEventsSupported = 'credential_accepted_holder_signed' | 'credential_deleted_holder_signed' | 'credential_accepted';
4
+ export interface ExperimentalSubjectIssuance {
5
+ credential_subject_issuance?: {
6
+ subject_proof_mode: SubjectProofMode;
7
+ notifications_events_supported: Array<SubjectProofNotificationEventsSupported>;
8
+ };
9
+ }
10
+ //# sourceMappingURL=holder-vci.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"holder-vci.d.ts","sourceRoot":"","sources":["../../lib/experimental/holder-vci.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,uCAAuC,SAA+E,CAAC;AAEpI,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG,WAAW,GAAG,eAAe,CAAC;AAE7E,MAAM,MAAM,uCAAuC,GAC/C,mCAAmC,GACnC,kCAAkC,GAClC,qBAAqB,CAAC;AAE1B,MAAM,WAAW,2BAA2B;IAC1C,2BAA2B,CAAC,EAAE;QAC5B,kBAAkB,EAAE,gBAAgB,CAAC;QACrC,8BAA8B,EAAE,KAAK,CAAC,uCAAuC,CAAC,CAAC;KAChF,CAAC;CACH"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var _a;
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.EXPERIMENTAL_SUBJECT_PROOF_MODE_ENABLED = void 0;
28
+ /**
29
+ * Experimental support not following the VCI spec to have the holder actually (re)sign the issued credential and return it to the issuer
30
+ */
31
+ const process = __importStar(require("node:process"));
32
+ exports.EXPERIMENTAL_SUBJECT_PROOF_MODE_ENABLED = ((_a = process.env.EXPERIMENTAL_SUBJECT_PROOF_MODE) === null || _a === void 0 ? void 0 : _a.trim().toLowerCase()) === 'true';
33
+ //# sourceMappingURL=holder-vci.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"holder-vci.js","sourceRoot":"","sources":["../../lib/experimental/holder-vci.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;GAEG;AACH,sDAAwC;AAE3B,QAAA,uCAAuC,GAAG,CAAA,MAAA,OAAO,CAAC,GAAG,CAAC,+BAA+B,0CAAE,IAAI,GAAG,WAAW,EAAE,MAAK,MAAM,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"CredentialRequestUtil.d.ts","sourceRoot":"","sources":["../../lib/functions/CredentialRequestUtil.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAI3H,wBAAgB,mBAAmB,CAAC,iBAAiB,EAAE,wBAAwB,EAAE,IAAI,CAAC,EAAE;IAAE,0BAA0B,EAAE,OAAO,CAAA;CAAE,YAsB9H;AAED,wBAAgB,8BAA8B,CAC5C,iBAAiB,EAAE,wBAAwB,EAC3C,OAAO,EAAE,iBAAiB,GACzB,wBAAwB,GAAG,wBAAwB,GAAG,wBAAwB,CAqBhF"}
1
+ {"version":3,"file":"CredentialRequestUtil.d.ts","sourceRoot":"","sources":["../../lib/functions/CredentialRequestUtil.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAI3H,wBAAgB,mBAAmB,CAAC,iBAAiB,EAAE,wBAAwB,EAAE,IAAI,CAAC,EAAE;IAAE,0BAA0B,EAAE,OAAO,CAAA;CAAE,YAsB9H;AAED,wBAAgB,8BAA8B,CAC5C,iBAAiB,EAAE,wBAAwB,EAC3C,OAAO,EAAE,iBAAiB,GACzB,wBAAwB,GAAG,wBAAwB,GAAG,wBAAwB,CAwBhF"}
@@ -32,6 +32,9 @@ function getCredentialRequestForVersion(credentialRequest, version) {
32
32
  if (version === types_1.OpenId4VCIVersion.VER_1_0_08) {
33
33
  const draft8Format = (0, FormatUtils_1.getFormatForVersion)(credentialRequest.format, version);
34
34
  const types = getTypesFromRequest(credentialRequest, { filterVerifiableCredential: true });
35
+ if (credentialRequest.credential_subject_issuance) {
36
+ throw Error('Experimental subject issuance is not supported for older versions of the spec');
37
+ }
35
38
  return {
36
39
  format: draft8Format,
37
40
  proof: credentialRequest.proof,
@@ -1 +1 @@
1
- {"version":3,"file":"CredentialRequestUtil.js","sourceRoot":"","sources":["../../lib/functions/CredentialRequestUtil.ts"],"names":[],"mappings":";;;AAAA,oCAA2H;AAE3H,+CAAoD;AAEpD,SAAgB,mBAAmB,CAAC,iBAA2C,EAAE,IAA8C;IAC7H,IAAI,KAAK,GAAa,EAAE,CAAC;IACzB,IAAI,iBAAiB,CAAC,MAAM,KAAK,aAAa,IAAI,iBAAiB,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxF,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC;IAClC,CAAC;SAAM,IAAI,iBAAiB,CAAC,MAAM,KAAK,gBAAgB,IAAI,iBAAiB,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAClG,KAAK;YACH,uBAAuB,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,qBAAqB;gBACrF,CAAC,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,KAAK;gBAC/C,CAAC,CAAC,6DAA6D;oBAC7D,aAAa;oBACb,iBAAiB,CAAC,KAAK,CAAC;IAChC,CAAC;SAAM,IAAI,iBAAiB,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QACpD,KAAK,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,KAAK,CAAC,gDAAgD,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,0BAA0B,EAAE,CAAC;QACrC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,sBAAsB,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAtBD,kDAsBC;AAED,SAAgB,8BAA8B,CAC5C,iBAA2C,EAC3C,OAA0B;IAE1B,IAAI,OAAO,KAAK,yBAAiB,CAAC,UAAU,EAAE,CAAC;QAC7C,MAAM,YAAY,GAAG,IAAA,iCAAmB,EAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5E,MAAM,KAAK,GAAG,mBAAmB,CAAC,iBAAiB,EAAE,EAAE,0BAA0B,EAAE,IAAI,EAAE,CAAC,CAAC;QAE3F,OAAO;YACL,MAAM,EAAE,YAAY;YACpB,KAAK,EAAE,iBAAiB,CAAC,KAAK;YAC9B,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;SACoB,CAAC;QACrC;;;;;;;wCAOgC;IAClC,CAAC;IAED,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAxBD,wEAwBC"}
1
+ {"version":3,"file":"CredentialRequestUtil.js","sourceRoot":"","sources":["../../lib/functions/CredentialRequestUtil.ts"],"names":[],"mappings":";;;AAAA,oCAA2H;AAE3H,+CAAoD;AAEpD,SAAgB,mBAAmB,CAAC,iBAA2C,EAAE,IAA8C;IAC7H,IAAI,KAAK,GAAa,EAAE,CAAC;IACzB,IAAI,iBAAiB,CAAC,MAAM,KAAK,aAAa,IAAI,iBAAiB,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxF,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC;IAClC,CAAC;SAAM,IAAI,iBAAiB,CAAC,MAAM,KAAK,gBAAgB,IAAI,iBAAiB,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAClG,KAAK;YACH,uBAAuB,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,qBAAqB;gBACrF,CAAC,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,KAAK;gBAC/C,CAAC,CAAC,6DAA6D;oBAC7D,aAAa;oBACb,iBAAiB,CAAC,KAAK,CAAC;IAChC,CAAC;SAAM,IAAI,iBAAiB,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QACpD,KAAK,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,KAAK,CAAC,gDAAgD,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,0BAA0B,EAAE,CAAC;QACrC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,sBAAsB,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAtBD,kDAsBC;AAED,SAAgB,8BAA8B,CAC5C,iBAA2C,EAC3C,OAA0B;IAE1B,IAAI,OAAO,KAAK,yBAAiB,CAAC,UAAU,EAAE,CAAC;QAC7C,MAAM,YAAY,GAAG,IAAA,iCAAmB,EAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5E,MAAM,KAAK,GAAG,mBAAmB,CAAC,iBAAiB,EAAE,EAAE,0BAA0B,EAAE,IAAI,EAAE,CAAC,CAAC;QAE3F,IAAI,iBAAiB,CAAC,2BAA2B,EAAE,CAAC;YAClD,MAAM,KAAK,CAAC,+EAA+E,CAAC,CAAC;QAC/F,CAAC;QACD,OAAO;YACL,MAAM,EAAE,YAAY;YACpB,KAAK,EAAE,iBAAiB,CAAC,KAAK;YAC9B,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;SACoB,CAAC;QACrC;;;;;;;wCAOgC;IAClC,CAAC;IAED,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AA3BD,wEA2BC"}
@@ -1,8 +1,8 @@
1
1
  import { DecodeURIAsJsonOpts, EncodeJsonAsURIOpts } from '../types';
2
2
  /**
3
- * @function encodeJsonAsURI encodes a Json object into a URI
4
- * @param json object
5
- * @param opts:
3
+ * @type {(json: {[s:string]: never} | ArrayLike<never> | string | object, opts?: EncodeJsonAsURIOpts)} encodes a Json object into a URI
4
+ * @param { {[s:string]: never} | ArrayLike<never> | string | object } json
5
+ * @param {EncodeJsonAsURIOpts} [opts] Option to encode json as uri
6
6
  * - urlTypeProperties: a list of properties of which the value is a URL
7
7
  * - arrayTypeProperties: a list of properties which are an array
8
8
  */
@@ -10,11 +10,12 @@ export declare function convertJsonToURI(json: {
10
10
  [s: string]: never;
11
11
  } | ArrayLike<never> | string | object, opts?: EncodeJsonAsURIOpts): string;
12
12
  /**
13
- * @function decodeUriAsJson decodes a URI into a Json object
14
- * @param uri string
15
- * @param opts:
13
+ * @type {(uri: string, opts?: DecodeURIAsJsonOpts): unknown} convertURIToJsonObject converts an URI into a Json object decoding its properties
14
+ * @param {string} uri
15
+ * @param {DecodeURIAsJsonOpts} [opts]
16
16
  * - requiredProperties: the required properties
17
17
  * - arrayTypeProperties: properties that can show up more that once
18
+ * @returns JSON object
18
19
  */
19
20
  export declare function convertURIToJsonObject(uri: string, opts?: DecodeURIAsJsonOpts): unknown;
20
21
  //# sourceMappingURL=Encoding.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Encoding.d.ts","sourceRoot":"","sources":["../../lib/functions/Encoding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,mBAAmB,EAAE,mBAAmB,EAA+C,MAAM,UAAU,CAAC;AAE7H;;;;;;GAMG;AAGH,wBAAgB,gBAAgB,CAC9B,IAAI,EACA;IACE,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CACpB,GACD,SAAS,CAAC,KAAK,CAAC,GAChB,MAAM,GACN,MAAM,EACV,IAAI,CAAC,EAAE,mBAAmB,GACzB,MAAM,CA4DR;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAMvF"}
1
+ {"version":3,"file":"Encoding.d.ts","sourceRoot":"","sources":["../../lib/functions/Encoding.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,mBAAmB,EACnB,mBAAmB,EAIpB,MAAM,UAAU,CAAA;AAEjB;;;;;;GAMG;AAGH,wBAAgB,gBAAgB,CAC9B,IAAI,EACA;IACE,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CACpB,GACD,SAAS,CAAC,KAAK,CAAC,GAChB,MAAM,GACN,MAAM,EACV,IAAI,CAAC,EAAE,mBAAmB,GACzB,MAAM,CA4DR;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAMvF"}
@@ -3,9 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.convertURIToJsonObject = exports.convertJsonToURI = void 0;
4
4
  const types_1 = require("../types");
5
5
  /**
6
- * @function encodeJsonAsURI encodes a Json object into a URI
7
- * @param json object
8
- * @param opts:
6
+ * @type {(json: {[s:string]: never} | ArrayLike<never> | string | object, opts?: EncodeJsonAsURIOpts)} encodes a Json object into a URI
7
+ * @param { {[s:string]: never} | ArrayLike<never> | string | object } json
8
+ * @param {EncodeJsonAsURIOpts} [opts] Option to encode json as uri
9
9
  * - urlTypeProperties: a list of properties of which the value is a URL
10
10
  * - arrayTypeProperties: a list of properties which are an array
11
11
  */
@@ -77,11 +77,12 @@ function convertJsonToURI(json, opts) {
77
77
  }
78
78
  exports.convertJsonToURI = convertJsonToURI;
79
79
  /**
80
- * @function decodeUriAsJson decodes a URI into a Json object
81
- * @param uri string
82
- * @param opts:
80
+ * @type {(uri: string, opts?: DecodeURIAsJsonOpts): unknown} convertURIToJsonObject converts an URI into a Json object decoding its properties
81
+ * @param {string} uri
82
+ * @param {DecodeURIAsJsonOpts} [opts]
83
83
  * - requiredProperties: the required properties
84
84
  * - arrayTypeProperties: properties that can show up more that once
85
+ * @returns JSON object
85
86
  */
86
87
  function convertURIToJsonObject(uri, opts) {
87
88
  var _a;
@@ -126,8 +127,8 @@ function decodeJsonProperties(parts) {
126
127
  }
127
128
  /**
128
129
  * @function get URI Components as Array
129
- * @param uri string
130
- * @param arrayTypes array of string containing array like keys
130
+ * @param {string} uri uri
131
+ * @param {string[]} [arrayTypes] array of string containing array like keys
131
132
  */
132
133
  function getURIComponentsAsArray(uri, arrayTypes) {
133
134
  const parts = uri.includes('?') ? uri.split('?')[1] : uri.includes('://') ? uri.split('://')[1] : uri;
@@ -1 +1 @@
1
- {"version":3,"file":"Encoding.js","sourceRoot":"","sources":["../../lib/functions/Encoding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Encoding.js","sourceRoot":"","sources":["../../lib/functions/Encoding.ts"],"names":[],"mappings":";;;AAAA,oCAOiB;AAEjB;;;;;;GAMG;AAEH,0DAA0D;AAC1D,SAAgB,gBAAgB,CAC9B,IAMU,EACV,IAA0B;;IAE1B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,OAAO,GAAG,EAAE,CAAC;IAEnB,SAAS,wBAAwB,CAAC,GAAW;QAC3C,OAAO,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,UAAkB,CAAC;IACvB,IAAI,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,KAAI,IAAI,CAAC,OAAO,GAAG,yBAAiB,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,mBAAW,CAAC,cAAc,EAAE,CAAC;QAC9H,mGAAmG;QACnG,UAAU,GAAG,wBAAwB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9D,CAAC;SAAM,CAAC;QACN,uDAAuD;QACvD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,SAAS;YACX,CAAC;YACD,0CAA0C;YAC1C,IAAI,CAAC,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,iBAAiB,0CAAE,QAAQ,CAAC,GAAG,CAAC,CAAA,EAAE,CAAC;gBAC5C,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC;gBAChC,SAAS;YACX,CAAC;YACD,IAAI,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,mBAAmB,0CAAE,QAAQ,CAAC,GAAG,CAAC,KAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,wBAAwB,CAAC,GAAG,CAAC,IAAI,wBAAwB,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBACnH,SAAS;YACX,CAAC;YACD,MAAM,MAAM,GAAG,OAAO,KAAK,IAAI,SAAS,CAAC;YACzC,MAAM,QAAQ,GAAG,OAAO,KAAK,IAAI,QAAQ,CAAC;YAC1C,MAAM,QAAQ,GAAG,OAAO,KAAK,IAAI,QAAQ,CAAC;YAC1C,IAAI,OAAO,CAAC;YACZ,IAAI,MAAM,IAAI,QAAQ,EAAE,CAAC;gBACvB,OAAO,GAAG,GAAG,wBAAwB,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC;YACxD,CAAC;iBAAM,IAAI,QAAQ,EAAE,CAAC;gBACpB,OAAO,GAAG,GAAG,wBAAwB,CAAC,GAAG,CAAC,IAAI,wBAAwB,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;YACzF,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,GAAG,wBAAwB,CAAC,GAAG,CAAC,IAAI,wBAAwB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;YACzG,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC;QACD,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IACD,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,MAAM,KAAK,CAAC,8CAA8C,CAAC,CAAC;YAC9D,CAAC;YACD,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,UAAU,EAAE,CAAC;QACxC,CAAC;aAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,EAAE,CAAC;QAC9E,CAAC;aAAM,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACtC,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,EAAE,CAAC;QAC7E,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,UAAU,EAAE,CAAC;QAC9E,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AArED,4CAqEC;AAED;;;;;;;GAOG;AACH,SAAgB,sBAAsB,CAAC,GAAW,EAAE,IAA0B;;IAC5E,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,kBAAkB,KAAI,CAAC,CAAA,MAAA,IAAI,CAAC,kBAAkB,0CAAE,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA,CAAC,EAAE,CAAC;QAClG,MAAM,IAAI,KAAK,CAAC,kBAAU,CAAC,CAAC;IAC9B,CAAC;IACD,MAAM,aAAa,GAAG,uBAAuB,CAAC,GAAG,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,mBAAmB,CAAC,CAAC;IAC9E,OAAO,oBAAoB,CAAC,aAAa,CAAC,CAAC;AAC7C,CAAC;AAND,wDAMC;AAED,SAAS,oBAAoB,CAAC,KAA4B;IACxD,MAAM,IAAI,GAAkD,EAAE,CAAC;IAC/D,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,SAAS;QACX,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,0BAA0B;YAC1B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;YACxE;;eAEG;QACL,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,KAAK,IAAI,SAAS,CAAC;QACzC,MAAM,QAAQ,GAAG,OAAO,KAAK,IAAI,QAAQ,CAAC;QAC1C,MAAM,QAAQ,GAAG,OAAO,KAAK,IAAI,QAAQ,CAAC;QAC1C,IAAI,MAAM,IAAI,QAAQ,EAAE,CAAC;YACvB,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;QACxC,CAAC;aAAM,IAAI,QAAQ,EAAE,CAAC;YACpB,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC1C,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;YAC1C,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,SAAS,uBAAuB,CAAC,GAAW,EAAE,UAAqB;IACjE,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACtG,MAAM,IAAI,GAA0B,EAAE,CAAC;IACvC,MAAM,IAAI,GAAa,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxC,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;QACzB,MAAM,IAAI,GAAa,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,EAAE,GAAQ,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,EAAE,GAAQ,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;YACrB,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvB,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClB,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,SAAS,wBAAwB,CAAC,YAAoB,EAAE,WAAwB;IAC9E,8DAA8D;IAC9D,oCAAoC;IACpC,OAAO,kBAAkB,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AACxH,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { JWK, Jwt, JWTVerifyCallback, JwtVerifyResult, ProofOfPossession, ProofOfPossessionCallbacks, Typ } from '../types';
2
+ /**
3
+ *
4
+ * - proofOfPossessionCallback: JWTSignerCallback
5
+ * Mandatory if you want to create (sign) ProofOfPossession
6
+ * - proofOfPossessionVerifierCallback?: JWTVerifyCallback
7
+ * If exists, verifies the ProofOfPossession
8
+ * - proofOfPossessionCallbackArgs: ProofOfPossessionCallbackArgs
9
+ * arguments needed for signing ProofOfPossession
10
+ * @param callbacks:
11
+ * - proofOfPossessionCallback: JWTSignerCallback
12
+ * Mandatory to create (sign) ProofOfPossession
13
+ * - proofOfPossessionVerifierCallback?: JWTVerifyCallback
14
+ * If exists, verifies the ProofOfPossession
15
+ * @param jwtProps
16
+ * @param existingJwt
17
+ * - Optional, clientId of the party requesting the credential
18
+ */
19
+ export declare const createProofOfPossession: <DIDDoc>(callbacks: ProofOfPossessionCallbacks<DIDDoc>, jwtProps?: JwtProps, existingJwt?: Jwt) => Promise<ProofOfPossession>;
20
+ export declare const isJWS: (token: string) => boolean;
21
+ export declare const extractBearerToken: (authorizationHeader?: string) => string | undefined;
22
+ export declare const validateJWT: (jwt?: string, opts?: {
23
+ kid?: string;
24
+ accessTokenVerificationCallback?: JWTVerifyCallback<never>;
25
+ }) => Promise<JwtVerifyResult<any>>;
26
+ export interface JwtProps {
27
+ typ?: Typ;
28
+ kid?: string;
29
+ jwk?: JWK;
30
+ issuer?: string;
31
+ clientId?: string;
32
+ alg?: string;
33
+ jti?: string;
34
+ nonce?: string;
35
+ }
36
+ //# sourceMappingURL=ProofUtil.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProofUtil.d.ts","sourceRoot":"","sources":["../../lib/functions/ProofUtil.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,GAAG,EAEH,GAAG,EAGH,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,0BAA0B,EAC1B,GAAG,EAEJ,MAAM,UAAU,CAAC;AAIlB;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,uBAAuB,sBACvB,2BAA2B,MAAM,CAAC,aAClC,QAAQ,gBACL,GAAG,KAChB,QAAQ,iBAAiB,CA0B3B,CAAC;AAQF,eAAO,MAAM,KAAK,UAAW,MAAM,KAAG,OAOrC,CAAC;AAEF,eAAO,MAAM,kBAAkB,yBAA0B,MAAM,KAAG,MAAM,GAAG,SAE1E,CAAC;AAEF,eAAO,MAAM,WAAW,SAChB,MAAM,SACL;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,+BAA+B,CAAC,EAAE,kBAAkB,KAAK,CAAC,CAAA;CAAE,KAClF,QAAQ,gBAAgB,GAAG,CAAC,CAkB9B,CAAC;AAEF,MAAM,WAAW,QAAQ;IACvB,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.validateJWT = exports.extractBearerToken = exports.isJWS = exports.createProofOfPossession = void 0;
16
+ const debug_1 = __importDefault(require("debug"));
17
+ const jwt_decode_1 = __importDefault(require("jwt-decode"));
18
+ const types_1 = require("../types");
19
+ const debug = (0, debug_1.default)('sphereon:openid4vci:common');
20
+ /**
21
+ *
22
+ * - proofOfPossessionCallback: JWTSignerCallback
23
+ * Mandatory if you want to create (sign) ProofOfPossession
24
+ * - proofOfPossessionVerifierCallback?: JWTVerifyCallback
25
+ * If exists, verifies the ProofOfPossession
26
+ * - proofOfPossessionCallbackArgs: ProofOfPossessionCallbackArgs
27
+ * arguments needed for signing ProofOfPossession
28
+ * @param callbacks:
29
+ * - proofOfPossessionCallback: JWTSignerCallback
30
+ * Mandatory to create (sign) ProofOfPossession
31
+ * - proofOfPossessionVerifierCallback?: JWTVerifyCallback
32
+ * If exists, verifies the ProofOfPossession
33
+ * @param jwtProps
34
+ * @param existingJwt
35
+ * - Optional, clientId of the party requesting the credential
36
+ */
37
+ const createProofOfPossession = (callbacks, jwtProps, existingJwt) => __awaiter(void 0, void 0, void 0, function* () {
38
+ if (!callbacks.signCallback) {
39
+ debug(`no jwt signer callback or arguments supplied!`);
40
+ throw new Error(types_1.BAD_PARAMS);
41
+ }
42
+ const signerArgs = createJWT(jwtProps, existingJwt);
43
+ const jwt = yield callbacks.signCallback(signerArgs, signerArgs.header.kid);
44
+ const proof = {
45
+ proof_type: 'jwt',
46
+ jwt,
47
+ };
48
+ try {
49
+ partiallyValidateJWS(jwt);
50
+ if (callbacks.verifyCallback) {
51
+ debug(`Calling supplied verify callback....`);
52
+ yield callbacks.verifyCallback({ jwt, kid: signerArgs.header.kid });
53
+ debug(`Supplied verify callback return success result`);
54
+ }
55
+ }
56
+ catch (_a) {
57
+ debug(`JWS was not valid`);
58
+ throw new Error(types_1.JWS_NOT_VALID);
59
+ }
60
+ debug(`Proof of Possession JWT:\r\n${jwt}`);
61
+ return proof;
62
+ });
63
+ exports.createProofOfPossession = createProofOfPossession;
64
+ const partiallyValidateJWS = (jws) => {
65
+ if (jws.split('.').length !== 3 || !jws.startsWith('ey')) {
66
+ throw new Error(types_1.JWS_NOT_VALID);
67
+ }
68
+ };
69
+ const isJWS = (token) => {
70
+ try {
71
+ partiallyValidateJWS(token);
72
+ return true;
73
+ }
74
+ catch (e) {
75
+ return false;
76
+ }
77
+ };
78
+ exports.isJWS = isJWS;
79
+ const extractBearerToken = (authorizationHeader) => {
80
+ var _a;
81
+ return authorizationHeader ? (_a = /Bearer (.*)/i.exec(authorizationHeader)) === null || _a === void 0 ? void 0 : _a[1] : undefined;
82
+ };
83
+ exports.extractBearerToken = extractBearerToken;
84
+ const validateJWT = (jwt, opts) => __awaiter(void 0, void 0, void 0, function* () {
85
+ if (!jwt) {
86
+ throw Error('No JWT was supplied');
87
+ }
88
+ if (!(opts === null || opts === void 0 ? void 0 : opts.accessTokenVerificationCallback)) {
89
+ types_1.VCI_LOG_COMMON.warning(`No access token verification callback supplied. Access tokens will not be verified, except for a very basic check`);
90
+ partiallyValidateJWS(jwt);
91
+ const header = (0, jwt_decode_1.default)(jwt, { header: true });
92
+ const payload = (0, jwt_decode_1.default)(jwt, { header: false });
93
+ return Object.assign(Object.assign({ jwt: { header, payload } }, header), payload);
94
+ }
95
+ else {
96
+ return yield opts.accessTokenVerificationCallback({ jwt, kid: opts.kid });
97
+ }
98
+ });
99
+ exports.validateJWT = validateJWT;
100
+ const createJWT = (jwtProps, existingJwt) => {
101
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
102
+ const aud = getJwtProperty('aud', true, jwtProps === null || jwtProps === void 0 ? void 0 : jwtProps.issuer, (_a = existingJwt === null || existingJwt === void 0 ? void 0 : existingJwt.payload) === null || _a === void 0 ? void 0 : _a.aud);
103
+ const iss = getJwtProperty('iss', false, jwtProps === null || jwtProps === void 0 ? void 0 : jwtProps.clientId, (_b = existingJwt === null || existingJwt === void 0 ? void 0 : existingJwt.payload) === null || _b === void 0 ? void 0 : _b.iss);
104
+ const jti = getJwtProperty('jti', false, jwtProps === null || jwtProps === void 0 ? void 0 : jwtProps.jti, (_c = existingJwt === null || existingJwt === void 0 ? void 0 : existingJwt.payload) === null || _c === void 0 ? void 0 : _c.jti);
105
+ const typ = getJwtProperty('typ', true, jwtProps === null || jwtProps === void 0 ? void 0 : jwtProps.typ, (_d = existingJwt === null || existingJwt === void 0 ? void 0 : existingJwt.header) === null || _d === void 0 ? void 0 : _d.typ, 'jwt');
106
+ const nonce = getJwtProperty('nonce', false, jwtProps === null || jwtProps === void 0 ? void 0 : jwtProps.nonce, (_e = existingJwt === null || existingJwt === void 0 ? void 0 : existingJwt.payload) === null || _e === void 0 ? void 0 : _e.nonce); // Officially this is required, but some implementations don't have it
107
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
108
+ const alg = getJwtProperty('alg', false, jwtProps === null || jwtProps === void 0 ? void 0 : jwtProps.alg, (_f = existingJwt === null || existingJwt === void 0 ? void 0 : existingJwt.header) === null || _f === void 0 ? void 0 : _f.alg, 'ES256');
109
+ const kid = getJwtProperty('kid', false, jwtProps === null || jwtProps === void 0 ? void 0 : jwtProps.kid, (_g = existingJwt === null || existingJwt === void 0 ? void 0 : existingJwt.header) === null || _g === void 0 ? void 0 : _g.kid);
110
+ const jwk = getJwtProperty('jwk', false, jwtProps === null || jwtProps === void 0 ? void 0 : jwtProps.jwk, (_h = existingJwt === null || existingJwt === void 0 ? void 0 : existingJwt.header) === null || _h === void 0 ? void 0 : _h.jwk);
111
+ const jwt = existingJwt ? existingJwt : {};
112
+ const now = +new Date();
113
+ const jwtPayload = Object.assign(Object.assign({ aud, iat: (_k = (_j = jwt.payload) === null || _j === void 0 ? void 0 : _j.iat) !== null && _k !== void 0 ? _k : Math.round(now / 1000 - 60), exp: (_m = (_l = jwt.payload) === null || _l === void 0 ? void 0 : _l.exp) !== null && _m !== void 0 ? _m : Math.round(now / 1000 + 10 * 60), nonce }, (iss ? { iss } : {})), (jti ? { jti } : {}));
114
+ const jwtHeader = {
115
+ typ,
116
+ alg,
117
+ kid,
118
+ jwk,
119
+ };
120
+ return {
121
+ payload: Object.assign(Object.assign({}, jwt.payload), jwtPayload),
122
+ header: Object.assign(Object.assign({}, jwt.header), jwtHeader),
123
+ };
124
+ };
125
+ const getJwtProperty = (propertyName, required, option, jwtProperty, defaultValue) => {
126
+ if (typeof option === 'string' && option && jwtProperty && option !== jwtProperty) {
127
+ throw Error(`Cannot have a property '${propertyName}' with value '${option}' and different JWT value '${jwtProperty}' at the same time`);
128
+ }
129
+ let result = (jwtProperty ? jwtProperty : option);
130
+ if (!result) {
131
+ if (required) {
132
+ throw Error(`No ${propertyName} property provided either in a JWT or as option`);
133
+ }
134
+ result = defaultValue;
135
+ }
136
+ return result;
137
+ };
138
+ //# sourceMappingURL=ProofUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProofUtil.js","sourceRoot":"","sources":["../../lib/functions/ProofUtil.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ export * from './TypeConversionUtils';
7
7
  export * from './IssuerMetadataUtils';
8
8
  export * from './FormatUtils';
9
9
  export * from './HttpUtils';
10
+ export * from './ProofUtil';
10
11
  export * from './AuthorizationResponseUtil';
11
12
  export { randomBytes };
12
13
  export * from './RandomUtils';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/functions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/functions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,cAAc,eAAe,CAAC"}
@@ -25,6 +25,7 @@ __exportStar(require("./TypeConversionUtils"), exports);
25
25
  __exportStar(require("./IssuerMetadataUtils"), exports);
26
26
  __exportStar(require("./FormatUtils"), exports);
27
27
  __exportStar(require("./HttpUtils"), exports);
28
+ __exportStar(require("./ProofUtil"), exports);
28
29
  __exportStar(require("./AuthorizationResponseUtil"), exports);
29
30
  __exportStar(require("./RandomUtils"), exports);
30
31
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/functions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qDAA+C;AAUtC,4FAVA,4BAAW,OAUA;AATpB,0DAAwC;AACxC,2DAAyC;AACzC,wDAAsC;AACtC,6CAA2B;AAC3B,wDAAsC;AACtC,wDAAsC;AACtC,gDAA8B;AAC9B,8CAA4B;AAC5B,8DAA4C;AAE5C,gDAA8B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/functions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qDAA+C;AAWtC,4FAXA,4BAAW,OAWA;AAVpB,0DAAwC;AACxC,2DAAyC;AACzC,wDAAsC;AACtC,6CAA2B;AAC3B,wDAAsC;AACtC,wDAAsC;AACtC,gDAA8B;AAC9B,8CAA4B;AAC5B,8CAA4B;AAC5B,8DAA4C;AAE5C,gDAA8B"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,5 @@
1
1
  export * from './functions';
2
2
  export * from './types';
3
+ export * from './experimental/holder-vci';
4
+ export * from './events';
3
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,UAAU,CAAC"}
package/dist/index.js CHANGED
@@ -16,4 +16,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./functions"), exports);
18
18
  __exportStar(require("./types"), exports);
19
+ __exportStar(require("./experimental/holder-vci"), exports);
20
+ __exportStar(require("./events"), exports);
19
21
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,0CAAwB;AACxB,4DAA0C;AAC1C,2CAAyB"}
@@ -1,17 +1,19 @@
1
1
  import { W3CVerifiableCredential } from '@sphereon/ssi-types';
2
+ import { ExperimentalSubjectIssuance } from '../experimental/holder-vci';
2
3
  import { AuthzFlowType } from './Authorization.types';
3
4
  import { OID4VCICredentialFormat } from './Generic.types';
4
5
  import { OpenId4VCIVersion } from './OpenID4VCIVersions.types';
5
6
  import { CredentialOfferPayloadV1_0_08 } from './v1_0_08.types';
6
7
  import { CredentialOfferPayloadV1_0_09, CredentialOfferV1_0_09 } from './v1_0_09.types';
7
8
  import { CredentialOfferPayloadV1_0_11, CredentialOfferV1_0_11 } from './v1_0_11.types';
8
- export interface CredentialResponse {
9
+ export interface CredentialResponse extends ExperimentalSubjectIssuance {
9
10
  credential?: W3CVerifiableCredential;
10
11
  format: OID4VCICredentialFormat;
11
12
  transaction_id?: string;
12
13
  acceptance_token?: string;
13
14
  c_nonce?: string;
14
15
  c_nonce_expires_in?: number;
16
+ notification_id?: string;
15
17
  }
16
18
  export interface CredentialOfferRequestWithBaseUrl extends UniformCredentialOfferRequest {
17
19
  scheme: string;
@@ -163,7 +165,7 @@ export interface JwtVerifyResult<DIDDoc> {
163
165
  alg: string;
164
166
  did?: string;
165
167
  didDocument?: DIDDoc;
166
- x5c?: string;
168
+ x5c?: string[];
167
169
  jwk?: BaseJWK;
168
170
  }
169
171
  //# sourceMappingURL=CredentialIssuance.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CredentialIssuance.types.d.ts","sourceRoot":"","sources":["../../lib/types/CredentialIssuance.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CredentialIssuance.types.d.ts","sourceRoot":"","sources":["../../lib/types/CredentialIssuance.types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CredentialIssuance.types.js","sourceRoot":"","sources":["../../lib/types/CredentialIssuance.types.ts"],"names":[],"mappings":";;;AA8DA,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,iEAAc,CAAA;IACd,+EAAqB,CAAA;AACvB,CAAC,EAHW,WAAW,2BAAX,WAAW,QAGtB;AA6DD;;;;;GAKG;AACH,IAAY,GAUX;AAVD,WAAY,GAAG;IACb,sBAAe,CAAA;IACf,sBAAe,CAAA;IACf,wBAAiB,CAAA;IACjB,sBAAe,CAAA;IACf,sBAAe,CAAA;IACf,sBAAe,CAAA;IACf,sBAAe,CAAA;IACf,sBAAe,CAAA;IACf,sBAAe,CAAA;AACjB,CAAC,EAVW,GAAG,mBAAH,GAAG,QAUd"}
1
+ {"version":3,"file":"CredentialIssuance.types.js","sourceRoot":"","sources":["../../lib/types/CredentialIssuance.types.ts"],"names":[],"mappings":";;;AAiEA,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,iEAAc,CAAA;IACd,+EAAqB,CAAA;AACvB,CAAC,EAHW,WAAW,2BAAX,WAAW,QAGtB;AA6DD;;;;;GAKG;AACH,IAAY,GAUX;AAVD,WAAY,GAAG;IACb,sBAAe,CAAA;IACf,sBAAe,CAAA;IACf,wBAAiB,CAAA;IACjB,sBAAe,CAAA;IACf,sBAAe,CAAA;IACf,sBAAe,CAAA;IACf,sBAAe,CAAA;IACf,sBAAe,CAAA;IACf,sBAAe,CAAA;AACjB,CAAC,EAVW,GAAG,mBAAH,GAAG,QAUd"}
@@ -1,4 +1,5 @@
1
1
  import { ICredentialContextType, IVerifiableCredential, W3CVerifiableCredential } from '@sphereon/ssi-types';
2
+ import { ExperimentalSubjectIssuance } from '../experimental/holder-vci';
2
3
  import { ProofOfPossession } from './CredentialIssuance.types';
3
4
  import { AuthorizationServerMetadata } from './ServerMetadata';
4
5
  import { CredentialOfferSession } from './StateManager.types';
@@ -40,6 +41,7 @@ export interface CredentialIssuerMetadataOpts {
40
41
  credential_issuer: string;
41
42
  authorization_server?: string;
42
43
  token_endpoint?: string;
44
+ notification_endpoint?: string;
43
45
  display?: MetadataDisplay[];
44
46
  credential_supplier_config?: CredentialSupplierConfig;
45
47
  }
@@ -55,7 +57,7 @@ export interface CredentialSupportedBrief {
55
57
  cryptographic_binding_methods_supported?: string[];
56
58
  cryptographic_suites_supported?: string[];
57
59
  }
58
- export type CommonCredentialSupported = CredentialSupportedBrief & {
60
+ export type CommonCredentialSupported = CredentialSupportedBrief & ExperimentalSubjectIssuance & {
59
61
  format: OID4VCICredentialFormat | string;
60
62
  id?: string;
61
63
  display?: CredentialsSupportedDisplay[];
@@ -121,7 +123,7 @@ export interface ErrorResponse extends Response {
121
123
  state?: string;
122
124
  }
123
125
  export type UniformCredentialRequest = CredentialRequestV1_0_11;
124
- export interface CommonCredentialRequest {
126
+ export interface CommonCredentialRequest extends ExperimentalSubjectIssuance {
125
127
  format: OID4VCICredentialFormat;
126
128
  proof?: ProofOfPossession;
127
129
  }
@@ -139,7 +141,7 @@ export interface CredentialRequestSdJwtVc extends CommonCredentialRequest {
139
141
  vct: string;
140
142
  claims?: IssuerCredentialSubject;
141
143
  }
142
- export interface CommonCredentialResponse {
144
+ export interface CommonCredentialResponse extends ExperimentalSubjectIssuance {
143
145
  format: string;
144
146
  credential?: W3CVerifiableCredential;
145
147
  acceptance_token?: string;
@@ -204,4 +206,19 @@ export interface GrantUrnIetf {
204
206
  authorization_server?: string;
205
207
  }
206
208
  export declare const PRE_AUTH_CODE_LITERAL = "pre-authorized_code";
209
+ export type NotificationEventType = 'credential_accepted' | 'credential_failure' | 'credential_deleted';
210
+ export interface NotificationRequest {
211
+ notification_id: string;
212
+ event: NotificationEventType | string;
213
+ event_description?: string;
214
+ credential?: any;
215
+ }
216
+ export type NotificationError = 'invalid_notification_id' | 'invalid_notification_request';
217
+ export type NotificationResult = {
218
+ error: boolean;
219
+ response?: NotificationErrorResponse;
220
+ };
221
+ export interface NotificationErrorResponse {
222
+ error: NotificationError | string;
223
+ }
207
224
  //# sourceMappingURL=Generic.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Generic.types.d.ts","sourceRoot":"","sources":["../../lib/types/Generic.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE7G,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,uBAAuB,GAAG,aAAa,GAAG,gBAAgB,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE3G,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,2BAA2B,GAAG,aAAa,GACrD,YAAY,GAAG;IACb,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,CAAC,EAAE,SAAS,CAAC;CAC9B,CAAC;AAEJ,MAAM,MAAM,eAAe,GAAG,aAAa,GACzC,YAAY,GAAG;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEJ,MAAM,WAAW,wBAAwB;IACvC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,4BAA4B;IAC3C,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,qBAAqB,EAAE,mBAAmB,EAAE,CAAC;IAC7C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAC5B,0BAA0B,CAAC,EAAE,wBAAwB,CAAC;CACvD;AAGD,MAAM,WAAW,wBAAyB,SAAQ,4BAA4B,EAAE,OAAO,CAAC,2BAA2B,CAAC;IAClH,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mDAAmD,CAAC,EAAE,MAAM,CAAC;IAC7D,mDAAmD,CAAC,EAAE,MAAM,CAAC;IAC7D,sCAAsC,CAAC,EAAE,OAAO,CAAC;IACjD,gCAAgC,CAAC,EAAE,OAAO,CAAC;CAC5C;AAID,MAAM,WAAW,wBAAwB;IACvC,uCAAuC,CAAC,EAAE,MAAM,EAAE,CAAC;IACnD,8BAA8B,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3C;AAED,MAAM,MAAM,yBAAyB,GAAG,wBAAwB,GAAG;IACjE,MAAM,EAAE,uBAAuB,GAAG,MAAM,CAAC;IACzC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,2BAA2B,EAAE,CAAC;CAIzC,CAAC;AAEF,MAAM,WAAW,sCAAuC,SAAQ,yBAAyB;IACvF,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,EAAE,sBAAsB,EAAE,CAAC;IACrC,iBAAiB,CAAC,EAAE,uBAAuB,CAAC;IAC5C,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,QAAQ,GAAG,gBAAgB,CAAC;CACrC;AAED,MAAM,WAAW,4BAA6B,SAAQ,yBAAyB;IAC7E,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,iBAAiB,CAAC,EAAE,uBAAuB,CAAC;IAC5C,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,aAAa,GAAG,QAAQ,CAAC;CAClC;AAED,MAAM,WAAW,0BAA2B,SAAQ,yBAAyB;IAC3E,MAAM,EAAE,WAAW,CAAC;IAEpB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,uBAAuB,CAAC;IAEjC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,MAAM,mBAAmB,GAAG,yBAAyB,GACzD,CAAC,4BAA4B,GAAG,sCAAsC,GAAG,0BAA0B,CAAC,CAAC;AAEvG,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,uBAAuB,GAAG,MAAM,CAAC;CAC1C;AAED,MAAM,WAAW,wCAAyC,SAAQ,2BAA2B;IAC3F,MAAM,EAAE,QAAQ,GAAG,gBAAgB,CAAC;IAEpC,qBAAqB,EAAE,gCAAgC,CAAC;CACzD;AAED,MAAM,WAAW,8BAA+B,SAAQ,2BAA2B;IACjF,MAAM,EAAE,aAAa,GAAG,QAAQ,CAAC;IACjC,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAKD,MAAM,WAAW,4BAA6B,SAAQ,2BAA2B;IAC/E,MAAM,EAAE,WAAW,CAAC;IAEpB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,uBAAuB,CAAC;CAClC;AAED,MAAM,MAAM,qBAAqB,GAAG,2BAA2B,GAC7D,CAAC,wCAAwC,GAAG,8BAA8B,GAAG,4BAA4B,CAAC,CAAC;AAE7G;;GAEG;AACH,MAAM,MAAM,2BAA2B,GAAG,GAAG,CAAC;AAE9C,MAAM,MAAM,8BAA8B,GAAG;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,sBAAsB,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,MAAM,WAAW,gCAAgC;IAC/C,UAAU,EAAE,sBAAsB,EAAE,CAAC;IACrC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,iBAAiB,CAAC,EAAE,uBAAuB,CAAC;CAC7C;AAED,MAAM,WAAW,aAAc,SAAQ,QAAQ;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,wBAAwB,GAAG,wBAAwB,CAAC;AAEhE,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,uBAAuB,CAAmC;IAClE,KAAK,CAAC,EAAE,iBAAiB,CAAC;CAC3B;AAED,MAAM,WAAW,0BAA2B,SAAQ,uBAAuB;IACzE,MAAM,EAAE,aAAa,GAAG,QAAQ,CAAC;IACjC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,iBAAiB,CAAC,EAAE,uBAAuB,CAAC;CAC7C;AAED,MAAM,WAAW,oCAAqC,SAAQ,uBAAuB;IACnF,MAAM,EAAE,QAAQ,GAAG,gBAAgB,CAAC;IACpC,qBAAqB,EAAE,gCAAgC,CAAC;CACzD;AAED,MAAM,WAAW,wBAAyB,SAAQ,uBAAuB;IACvE,MAAM,EAAE,WAAW,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,uBAAuB,CAAC;CAClC;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,uBAAwB,SAAQ,wBAAwB;IACvE,MAAM,EAAE,QAAQ,CAAC;IACjB,UAAU,EAAE,qBAAqB,CAAC;CACnC;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,aAAa,GAAG,gBAAgB,CAAC;IACzC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAID,MAAM,MAAM,8BAA8B,GAAG,wBAAwB,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,wBAAwB,CAAA;CAAE,CAAC;AAEpH,MAAM,WAAW,wBAAwB;IACvC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,uBAAuB;IACtC,CAAC,GAAG,EAAE,MAAM,GAAG,8BAA8B,CAAC;CAC/C;AAED,MAAM,WAAW,KAAK;IACpB,kBAAkB,CAAC,EAAE,sBAAsB,CAAC;IAC5C,sDAAsD,CAAC,EAAE,YAAY,CAAC;CACvE;AAED,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,qBAAqB,EAAE,MAAM,CAAC;IAC9B;;;OAGG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAG3B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,eAAO,MAAM,qBAAqB,wBAAwB,CAAC"}
1
+ {"version":3,"file":"Generic.types.d.ts","sourceRoot":"","sources":["../../lib/types/Generic.types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Generic.types.js","sourceRoot":"","sources":["../../lib/types/Generic.types.ts"],"names":[],"mappings":";;;AA+Qa,QAAA,qBAAqB,GAAG,qBAAqB,CAAC"}
1
+ {"version":3,"file":"Generic.types.js","sourceRoot":"","sources":["../../lib/types/Generic.types.ts"],"names":[],"mappings":";;;AAmRa,QAAA,qBAAqB,GAAG,qBAAqB,CAAC"}
@@ -11,6 +11,7 @@ export interface CredentialOfferSession extends StateType {
11
11
  status: IssueStatus;
12
12
  error?: string;
13
13
  lastUpdatedAt: number;
14
+ notification_id: string;
14
15
  issuerState?: string;
15
16
  preAuthorizedCode?: string;
16
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"StateManager.types.d.ts","sourceRoot":"","sources":["../../lib/types/StateManager.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAE9D,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAuB,SAAQ,SAAS;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,8BAA8B,CAAC;IAChD,2BAA2B,CAAC,EAAE,2BAA2B,CAAC;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,oBAAY,WAAW;IACrB,aAAa,kBAAkB;IAC/B,mBAAmB,wBAAwB,CAAE,sDAAsD;IACnG,sBAAsB,2BAA2B,CAAE,0EAA0E;IAC7H,oBAAoB,yBAAyB,CAAE,0EAA0E;IACzH,2BAA2B,gCAAgC,CAAE,0EAA0E;IACvI,iBAAiB,sBAAsB;IACvC,KAAK,UAAU;CAChB;AAED,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,QAAS,SAAQ,SAAS;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,SAAS;IAChD,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9C,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAExC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAElC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAErC,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1B,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAEpC,mBAAmB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErD,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACrC"}
1
+ {"version":3,"file":"StateManager.types.d.ts","sourceRoot":"","sources":["../../lib/types/StateManager.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAE9D,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAuB,SAAQ,SAAS;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,8BAA8B,CAAC;IAChD,2BAA2B,CAAC,EAAE,2BAA2B,CAAC;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,oBAAY,WAAW;IACrB,aAAa,kBAAkB;IAC/B,mBAAmB,wBAAwB,CAAE,sDAAsD;IACnG,sBAAsB,2BAA2B,CAAE,0EAA0E;IAC7H,oBAAoB,yBAAyB,CAAE,0EAA0E;IACzH,2BAA2B,gCAAgC,CAAE,0EAA0E;IACvI,iBAAiB,sBAAsB;IACvC,KAAK,UAAU;CAChB;AAED,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,QAAS,SAAQ,SAAS;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,SAAS;IAChD,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9C,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAExC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAElC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAErC,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1B,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAEpC,mBAAmB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErD,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACrC"}
@@ -1 +1 @@
1
- {"version":3,"file":"StateManager.types.js","sourceRoot":"","sources":["../../lib/types/StateManager.types.ts"],"names":[],"mappings":";;;AAmBA,IAAY,WAQX;AARD,WAAY,WAAW;IACrB,8CAA+B,CAAA;IAC/B,0DAA2C,CAAA;IAC3C,gEAAiD,CAAA;IACjD,4DAA6C,CAAA;IAC7C,0EAA2D,CAAA;IAC3D,sDAAuC,CAAA;IACvC,8BAAe,CAAA;AACjB,CAAC,EARW,WAAW,2BAAX,WAAW,QAQtB"}
1
+ {"version":3,"file":"StateManager.types.js","sourceRoot":"","sources":["../../lib/types/StateManager.types.ts"],"names":[],"mappings":";;;AAoBA,IAAY,WAQX;AARD,WAAY,WAAW;IACrB,8CAA+B,CAAA;IAC/B,0DAA2C,CAAA;IAC3C,gEAAiD,CAAA;IACjD,4DAA6C,CAAA;IAC7C,0EAA2D,CAAA;IAC3D,sDAAuC,CAAA;IACvC,8BAAe,CAAA;AACjB,CAAC,EARW,WAAW,2BAAX,WAAW,QAQtB"}
@@ -1,3 +1,4 @@
1
+ import { Loggers } from '@sphereon/ssi-types';
1
2
  export * from './Authorization.types';
2
3
  export * from './CredentialIssuance.types';
3
4
  export * from './Generic.types';
@@ -10,4 +11,6 @@ export * from './OpenID4VCIVersions.types';
10
11
  export * from './StateManager.types';
11
12
  export * from './Token.types';
12
13
  export * from './QRCode.types';
14
+ export declare const VCI_LOGGERS: Loggers;
15
+ export declare const VCI_LOG_COMMON: import("@sphereon/ssi-types").ISimpleLogger<unknown>;
13
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAa,MAAM,qBAAqB,CAAC;AAEzD,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAE/B,eAAO,MAAM,WAAW,SAAoB,CAAC;AAC7C,eAAO,MAAM,cAAc,sDAE1B,CAAC"}
@@ -14,6 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.VCI_LOG_COMMON = exports.VCI_LOGGERS = void 0;
18
+ const ssi_types_1 = require("@sphereon/ssi-types");
17
19
  __exportStar(require("./Authorization.types"), exports);
18
20
  __exportStar(require("./CredentialIssuance.types"), exports);
19
21
  __exportStar(require("./Generic.types"), exports);
@@ -26,4 +28,6 @@ __exportStar(require("./OpenID4VCIVersions.types"), exports);
26
28
  __exportStar(require("./StateManager.types"), exports);
27
29
  __exportStar(require("./Token.types"), exports);
28
30
  __exportStar(require("./QRCode.types"), exports);
31
+ exports.VCI_LOGGERS = ssi_types_1.Loggers.default();
32
+ exports.VCI_LOG_COMMON = exports.VCI_LOGGERS.options('sphereon:oid4vci:common', { methods: [ssi_types_1.LogMethod.EVENT, ssi_types_1.LogMethod.DEBUG_PKG] }).get('sphereon:oid4vci:common');
29
33
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,6DAA2C;AAC3C,kDAAgC;AAChC,kDAAgC;AAChC,kDAAgC;AAChC,kDAAgC;AAChC,mDAAiC;AACjC,qDAAmC;AACnC,6DAA2C;AAC3C,uDAAqC;AACrC,gDAA8B;AAC9B,iDAA+B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,mDAAyD;AAEzD,wDAAsC;AACtC,6DAA2C;AAC3C,kDAAgC;AAChC,kDAAgC;AAChC,kDAAgC;AAChC,kDAAgC;AAChC,mDAAiC;AACjC,qDAAmC;AACnC,6DAA2C;AAC3C,uDAAqC;AACrC,gDAA8B;AAC9B,iDAA+B;AAElB,QAAA,WAAW,GAAG,mBAAO,CAAC,OAAO,EAAE,CAAC;AAChC,QAAA,cAAc,GAAG,mBAAW,CAAC,OAAO,CAAC,yBAAyB,EAAE,EAAE,OAAO,EAAE,CAAC,qBAAS,CAAC,KAAK,EAAE,qBAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CACnI,yBAAyB,CAC1B,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { EventManager } from '@sphereon/ssi-types';
2
+
3
+ export type EventNames = CredentialOfferEventNames | NotificationStatusEventNames | LogEvents | CredentialEventNames;
4
+
5
+ export enum CredentialOfferEventNames {
6
+ OID4VCI_OFFER_CREATED = 'OID4VCI_OFFER_CREATED',
7
+ OID4VCI_OFFER_EXPIRED = 'OID4VCI_OFFER_EXPIRED',
8
+ OID4VCI_OFFER_DELETED = 'OID4VCI_OFFER_DELETED',
9
+ }
10
+
11
+ export enum CredentialEventNames {
12
+ OID4VCI_CREDENTIAL_ISSUED = 'OID4VCI_CREDENTIAL_ISSUED',
13
+ }
14
+
15
+ export enum NotificationStatusEventNames {
16
+ OID4VCI_NOTIFICATION_RECEIVED = 'OID4VCI_NOTIFICATION_RECEIVED',
17
+ OID4VCI_NOTIFICATION_PROCESSED = 'OID4VCI_NOTIFICATION_PROCESSED',
18
+ }
19
+ export type LogEvents = 'oid4vciLog';
20
+ export const EVENTS = EventManager.instance();
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Experimental support not following the VCI spec to have the holder actually (re)sign the issued credential and return it to the issuer
3
+ */
4
+ import * as process from 'node:process';
5
+
6
+ export const EXPERIMENTAL_SUBJECT_PROOF_MODE_ENABLED = process.env.EXPERIMENTAL_SUBJECT_PROOF_MODE?.trim().toLowerCase() === 'true';
7
+
8
+ export type SubjectProofMode = 'proof_chain' | 'proof_set' | 'proof_replace';
9
+
10
+ export type SubjectProofNotificationEventsSupported =
11
+ | 'credential_accepted_holder_signed'
12
+ | 'credential_deleted_holder_signed'
13
+ | 'credential_accepted';
14
+
15
+ export interface ExperimentalSubjectIssuance {
16
+ credential_subject_issuance?: {
17
+ subject_proof_mode: SubjectProofMode;
18
+ notifications_events_supported: Array<SubjectProofNotificationEventsSupported>;
19
+ };
20
+ }
@@ -34,6 +34,9 @@ export function getCredentialRequestForVersion(
34
34
  const draft8Format = getFormatForVersion(credentialRequest.format, version);
35
35
  const types = getTypesFromRequest(credentialRequest, { filterVerifiableCredential: true });
36
36
 
37
+ if (credentialRequest.credential_subject_issuance) {
38
+ throw Error('Experimental subject issuance is not supported for older versions of the spec');
39
+ }
37
40
  return {
38
41
  format: draft8Format,
39
42
  proof: credentialRequest.proof,
@@ -1,9 +1,16 @@
1
- import { BAD_PARAMS, DecodeURIAsJsonOpts, EncodeJsonAsURIOpts, JsonURIMode, OpenId4VCIVersion, SearchValue } from '../types';
1
+ import {
2
+ BAD_PARAMS,
3
+ DecodeURIAsJsonOpts,
4
+ EncodeJsonAsURIOpts,
5
+ JsonURIMode,
6
+ OpenId4VCIVersion,
7
+ SearchValue
8
+ } from '../types'
2
9
 
3
10
  /**
4
- * @function encodeJsonAsURI encodes a Json object into a URI
5
- * @param json object
6
- * @param opts:
11
+ * @type {(json: {[s:string]: never} | ArrayLike<never> | string | object, opts?: EncodeJsonAsURIOpts)} encodes a Json object into a URI
12
+ * @param { {[s:string]: never} | ArrayLike<never> | string | object } json
13
+ * @param {EncodeJsonAsURIOpts} [opts] Option to encode json as uri
7
14
  * - urlTypeProperties: a list of properties of which the value is a URL
8
15
  * - arrayTypeProperties: a list of properties which are an array
9
16
  */
@@ -81,11 +88,12 @@ export function convertJsonToURI(
81
88
  }
82
89
 
83
90
  /**
84
- * @function decodeUriAsJson decodes a URI into a Json object
85
- * @param uri string
86
- * @param opts:
91
+ * @type {(uri: string, opts?: DecodeURIAsJsonOpts): unknown} convertURIToJsonObject converts an URI into a Json object decoding its properties
92
+ * @param {string} uri
93
+ * @param {DecodeURIAsJsonOpts} [opts]
87
94
  * - requiredProperties: the required properties
88
95
  * - arrayTypeProperties: properties that can show up more that once
96
+ * @returns JSON object
89
97
  */
90
98
  export function convertURIToJsonObject(uri: string, opts?: DecodeURIAsJsonOpts): unknown {
91
99
  if (!uri || (opts?.requiredProperties && !opts.requiredProperties?.every((p) => uri.includes(p)))) {
@@ -128,8 +136,8 @@ function decodeJsonProperties(parts: string[] | string[][]): unknown {
128
136
 
129
137
  /**
130
138
  * @function get URI Components as Array
131
- * @param uri string
132
- * @param arrayTypes array of string containing array like keys
139
+ * @param {string} uri uri
140
+ * @param {string[]} [arrayTypes] array of string containing array like keys
133
141
  */
134
142
  function getURIComponentsAsArray(uri: string, arrayTypes?: string[]): string[] | string[][] {
135
143
  const parts = uri.includes('?') ? uri.split('?')[1] : uri.includes('://') ? uri.split('://')[1] : uri;
@@ -0,0 +1,169 @@
1
+ import Debug from 'debug';
2
+ import jwtDecode from 'jwt-decode';
3
+
4
+ import {
5
+ BAD_PARAMS,
6
+ BaseJWK,
7
+ JWK,
8
+ JWS_NOT_VALID,
9
+ Jwt,
10
+ JWTHeader,
11
+ JWTPayload,
12
+ JWTVerifyCallback,
13
+ JwtVerifyResult,
14
+ ProofOfPossession,
15
+ ProofOfPossessionCallbacks,
16
+ Typ,
17
+ VCI_LOG_COMMON,
18
+ } from '../types';
19
+
20
+ const debug = Debug('sphereon:openid4vci:common');
21
+
22
+ /**
23
+ *
24
+ * - proofOfPossessionCallback: JWTSignerCallback
25
+ * Mandatory if you want to create (sign) ProofOfPossession
26
+ * - proofOfPossessionVerifierCallback?: JWTVerifyCallback
27
+ * If exists, verifies the ProofOfPossession
28
+ * - proofOfPossessionCallbackArgs: ProofOfPossessionCallbackArgs
29
+ * arguments needed for signing ProofOfPossession
30
+ * @param callbacks:
31
+ * - proofOfPossessionCallback: JWTSignerCallback
32
+ * Mandatory to create (sign) ProofOfPossession
33
+ * - proofOfPossessionVerifierCallback?: JWTVerifyCallback
34
+ * If exists, verifies the ProofOfPossession
35
+ * @param jwtProps
36
+ * @param existingJwt
37
+ * - Optional, clientId of the party requesting the credential
38
+ */
39
+ export const createProofOfPossession = async <DIDDoc>(
40
+ callbacks: ProofOfPossessionCallbacks<DIDDoc>,
41
+ jwtProps?: JwtProps,
42
+ existingJwt?: Jwt,
43
+ ): Promise<ProofOfPossession> => {
44
+ if (!callbacks.signCallback) {
45
+ debug(`no jwt signer callback or arguments supplied!`);
46
+ throw new Error(BAD_PARAMS);
47
+ }
48
+
49
+ const signerArgs = createJWT(jwtProps, existingJwt);
50
+ const jwt = await callbacks.signCallback(signerArgs, signerArgs.header.kid);
51
+ const proof = {
52
+ proof_type: 'jwt',
53
+ jwt,
54
+ } as ProofOfPossession;
55
+
56
+ try {
57
+ partiallyValidateJWS(jwt);
58
+ if (callbacks.verifyCallback) {
59
+ debug(`Calling supplied verify callback....`);
60
+ await callbacks.verifyCallback({ jwt, kid: signerArgs.header.kid });
61
+ debug(`Supplied verify callback return success result`);
62
+ }
63
+ } catch {
64
+ debug(`JWS was not valid`);
65
+ throw new Error(JWS_NOT_VALID);
66
+ }
67
+ debug(`Proof of Possession JWT:\r\n${jwt}`);
68
+ return proof;
69
+ };
70
+
71
+ const partiallyValidateJWS = (jws: string): void => {
72
+ if (jws.split('.').length !== 3 || !jws.startsWith('ey')) {
73
+ throw new Error(JWS_NOT_VALID);
74
+ }
75
+ };
76
+
77
+ export const isJWS = (token: string): boolean => {
78
+ try {
79
+ partiallyValidateJWS(token);
80
+ return true;
81
+ } catch (e) {
82
+ return false;
83
+ }
84
+ };
85
+
86
+ export const extractBearerToken = (authorizationHeader?: string): string | undefined => {
87
+ return authorizationHeader ? /Bearer (.*)/i.exec(authorizationHeader)?.[1] : undefined;
88
+ };
89
+
90
+ export const validateJWT = async (
91
+ jwt?: string,
92
+ opts?: { kid?: string; accessTokenVerificationCallback?: JWTVerifyCallback<never> },
93
+ ): Promise<JwtVerifyResult<any>> => {
94
+ if (!jwt) {
95
+ throw Error('No JWT was supplied');
96
+ }
97
+
98
+ if (!opts?.accessTokenVerificationCallback) {
99
+ VCI_LOG_COMMON.warning(`No access token verification callback supplied. Access tokens will not be verified, except for a very basic check`);
100
+ partiallyValidateJWS(jwt);
101
+ const header = jwtDecode<JWTHeader>(jwt, { header: true });
102
+ const payload = jwtDecode<JWTPayload>(jwt, { header: false });
103
+ return {
104
+ jwt: { header, payload } satisfies Jwt,
105
+ ...header,
106
+ ...payload,
107
+ };
108
+ } else {
109
+ return await opts.accessTokenVerificationCallback({ jwt, kid: opts.kid });
110
+ }
111
+ };
112
+
113
+ export interface JwtProps {
114
+ typ?: Typ;
115
+ kid?: string;
116
+ jwk?: JWK;
117
+ issuer?: string;
118
+ clientId?: string;
119
+ alg?: string;
120
+ jti?: string;
121
+ nonce?: string;
122
+ }
123
+
124
+ const createJWT = (jwtProps?: JwtProps, existingJwt?: Jwt): Jwt => {
125
+ const aud = getJwtProperty<string | string[]>('aud', true, jwtProps?.issuer, existingJwt?.payload?.aud);
126
+ const iss = getJwtProperty<string>('iss', false, jwtProps?.clientId, existingJwt?.payload?.iss);
127
+ const jti = getJwtProperty<string>('jti', false, jwtProps?.jti, existingJwt?.payload?.jti);
128
+ const typ = getJwtProperty<string>('typ', true, jwtProps?.typ, existingJwt?.header?.typ, 'jwt');
129
+ const nonce = getJwtProperty<string>('nonce', false, jwtProps?.nonce, existingJwt?.payload?.nonce); // Officially this is required, but some implementations don't have it
130
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
131
+ const alg = getJwtProperty<string>('alg', false, jwtProps?.alg, existingJwt?.header?.alg, 'ES256')!;
132
+ const kid = getJwtProperty<string>('kid', false, jwtProps?.kid, existingJwt?.header?.kid);
133
+ const jwk = getJwtProperty<BaseJWK>('jwk', false, jwtProps?.jwk, existingJwt?.header?.jwk);
134
+ const jwt: Partial<Jwt> = existingJwt ? existingJwt : {};
135
+ const now = +new Date();
136
+ const jwtPayload: Partial<JWTPayload> = {
137
+ aud,
138
+ iat: jwt.payload?.iat ?? Math.round(now / 1000 - 60), // Let's ensure we subtract 60 seconds for potential time offsets
139
+ exp: jwt.payload?.exp ?? Math.round(now / 1000 + 10 * 60),
140
+ nonce,
141
+ ...(iss ? { iss } : {}),
142
+ ...(jti ? { jti } : {}),
143
+ };
144
+
145
+ const jwtHeader: JWTHeader = {
146
+ typ,
147
+ alg,
148
+ kid,
149
+ jwk,
150
+ };
151
+ return {
152
+ payload: { ...jwt.payload, ...jwtPayload },
153
+ header: { ...jwt.header, ...jwtHeader },
154
+ };
155
+ };
156
+
157
+ const getJwtProperty = <T>(propertyName: string, required: boolean, option?: string | JWK, jwtProperty?: T, defaultValue?: T): T | undefined => {
158
+ if (typeof option === 'string' && option && jwtProperty && option !== jwtProperty) {
159
+ throw Error(`Cannot have a property '${propertyName}' with value '${option}' and different JWT value '${jwtProperty}' at the same time`);
160
+ }
161
+ let result = (jwtProperty ? jwtProperty : option) as T | undefined;
162
+ if (!result) {
163
+ if (required) {
164
+ throw Error(`No ${propertyName} property provided either in a JWT or as option`);
165
+ }
166
+ result = defaultValue;
167
+ }
168
+ return result;
169
+ };
@@ -7,6 +7,7 @@ export * from './TypeConversionUtils';
7
7
  export * from './IssuerMetadataUtils';
8
8
  export * from './FormatUtils';
9
9
  export * from './HttpUtils';
10
+ export * from './ProofUtil';
10
11
  export * from './AuthorizationResponseUtil';
11
12
  export { randomBytes };
12
13
  export * from './RandomUtils';
package/lib/index.ts CHANGED
@@ -1,2 +1,4 @@
1
1
  export * from './functions';
2
2
  export * from './types';
3
+ export * from './experimental/holder-vci';
4
+ export * from './events';
@@ -1,5 +1,7 @@
1
1
  import { W3CVerifiableCredential } from '@sphereon/ssi-types';
2
2
 
3
+ import { ExperimentalSubjectIssuance } from '../experimental/holder-vci';
4
+
3
5
  import { AuthzFlowType } from './Authorization.types';
4
6
  import { OID4VCICredentialFormat } from './Generic.types';
5
7
  import { OpenId4VCIVersion } from './OpenID4VCIVersions.types';
@@ -7,13 +9,14 @@ import { CredentialOfferPayloadV1_0_08 } from './v1_0_08.types';
7
9
  import { CredentialOfferPayloadV1_0_09, CredentialOfferV1_0_09 } from './v1_0_09.types';
8
10
  import { CredentialOfferPayloadV1_0_11, CredentialOfferV1_0_11 } from './v1_0_11.types';
9
11
 
10
- export interface CredentialResponse {
12
+ export interface CredentialResponse extends ExperimentalSubjectIssuance {
11
13
  credential?: W3CVerifiableCredential; // OPTIONAL. Contains issued Credential. MUST be present when acceptance_token is not returned. MAY be a JSON string or a JSON object, depending on the Credential format. See Appendix E for the Credential format specific encoding requirements
12
14
  format: OID4VCICredentialFormat /* | OID4VCICredentialFormat[]*/; // REQUIRED. JSON string denoting the format of the issued Credential
13
15
  transaction_id?: string; //OPTIONAL. A string identifying a Deferred Issuance transaction. This claim is contained in the response if the Credential Issuer was unable to immediately issue the credential. The value is subsequently used to obtain the respective Credential with the Deferred Credential Endpoint (see Section 9). It MUST be present when the credential parameter is not returned. It MUST be invalidated after the credential for which it was meant has been obtained by the Wallet.
14
16
  acceptance_token?: string; //deprecated // OPTIONAL. A JSON string containing a security token subsequently used to obtain a Credential. MUST be present when credential is not returned
15
17
  c_nonce?: string; // OPTIONAL. JSON string containing a nonce to be used to create a proof of possession of key material when requesting a Credential (see Section 7.2). When received, the Wallet MUST use this nonce value for its subsequent credential requests until the Credential Issuer provides a fresh nonce
16
18
  c_nonce_expires_in?: number; // OPTIONAL. JSON integer denoting the lifetime in seconds of the c_nonce
19
+ notification_id?: string;
17
20
  }
18
21
 
19
22
  export interface CredentialOfferRequestWithBaseUrl extends UniformCredentialOfferRequest {
@@ -196,6 +199,6 @@ export interface JwtVerifyResult<DIDDoc> {
196
199
  alg: string;
197
200
  did?: string;
198
201
  didDocument?: DIDDoc;
199
- x5c?: string;
202
+ x5c?: string[];
200
203
  jwk?: BaseJWK;
201
204
  }
@@ -1,5 +1,7 @@
1
1
  import { ICredentialContextType, IVerifiableCredential, W3CVerifiableCredential } from '@sphereon/ssi-types';
2
2
 
3
+ import { ExperimentalSubjectIssuance } from '../experimental/holder-vci';
4
+
3
5
  import { ProofOfPossession } from './CredentialIssuance.types';
4
6
  import { AuthorizationServerMetadata } from './ServerMetadata';
5
7
  import { CredentialOfferSession } from './StateManager.types';
@@ -53,6 +55,7 @@ export interface CredentialIssuerMetadataOpts {
53
55
  authorization_server?: string; // OPTIONAL. Identifier of the OAuth 2.0 Authorization Server (as defined in [RFC8414]) the Credential Issuer relies on for authorization. If this element is omitted, the entity providing the Credential Issuer is also acting as the AS, i.e. the Credential Issuer's identifier is used as the OAuth 2.0 Issuer value to obtain the Authorization Server metadata as per [RFC8414].
54
56
  // authorization_servers?: string[]; // OPTIONAL. Array of strings that identify the OAuth 2.0 Authorization Servers (as defined in [RFC8414]) the Credential Issuer relies on for authorization. If this element is omitted, the entity providing the Credential Issuer is also acting as the AS, i.e. the Credential Issuer's identifier is used as the OAuth 2.0 Issuer value to obtain the Authorization Server metadata as per [RFC8414].
55
57
  token_endpoint?: string;
58
+ notification_endpoint?: string;
56
59
  display?: MetadataDisplay[]; // An array of objects, where each object contains display properties of a Credential Issuer for a certain language. Below is a non-exhaustive list of valid parameters that MAY be included:
57
60
  credential_supplier_config?: CredentialSupplierConfig;
58
61
  }
@@ -74,14 +77,15 @@ export interface CredentialSupportedBrief {
74
77
  cryptographic_suites_supported?: string[]; // OPTIONAL. Array of case sensitive strings that identify the cryptographic suites that are supported for the cryptographic_binding_methods_supported
75
78
  }
76
79
 
77
- export type CommonCredentialSupported = CredentialSupportedBrief & {
78
- format: OID4VCICredentialFormat | string; //REQUIRED. A JSON string identifying the format of this credential, e.g. jwt_vc_json or ldp_vc.
79
- id?: string; // OPTIONAL. A JSON string identifying the respective object. The value MUST be unique across all credentials_supported entries in the Credential Issuer Metadata
80
- display?: CredentialsSupportedDisplay[]; // OPTIONAL. An array of objects, where each object contains the display properties of the supported credential for a certain language
81
- /**
82
- * following properties are non-mso_mdoc specific and we might wanna rethink them when we're going to support mso_mdoc
83
- */
84
- };
80
+ export type CommonCredentialSupported = CredentialSupportedBrief &
81
+ ExperimentalSubjectIssuance & {
82
+ format: OID4VCICredentialFormat | string; //REQUIRED. A JSON string identifying the format of this credential, e.g. jwt_vc_json or ldp_vc.
83
+ id?: string; // OPTIONAL. A JSON string identifying the respective object. The value MUST be unique across all credentials_supported entries in the Credential Issuer Metadata
84
+ display?: CredentialsSupportedDisplay[]; // OPTIONAL. An array of objects, where each object contains the display properties of the supported credential for a certain language
85
+ /**
86
+ * following properties are non-mso_mdoc specific and we might wanna rethink them when we're going to support mso_mdoc
87
+ */
88
+ };
85
89
 
86
90
  export interface CredentialSupportedJwtVcJsonLdAndLdpVc extends CommonCredentialSupported {
87
91
  types: string[]; // REQUIRED. JSON array designating the types a certain credential type supports
@@ -167,7 +171,7 @@ export interface ErrorResponse extends Response {
167
171
 
168
172
  export type UniformCredentialRequest = CredentialRequestV1_0_11;
169
173
 
170
- export interface CommonCredentialRequest {
174
+ export interface CommonCredentialRequest extends ExperimentalSubjectIssuance {
171
175
  format: OID4VCICredentialFormat /* | OID4VCICredentialFormat[];*/; // for now it seems only one is supported in the spec
172
176
  proof?: ProofOfPossession;
173
177
  }
@@ -189,7 +193,7 @@ export interface CredentialRequestSdJwtVc extends CommonCredentialRequest {
189
193
  claims?: IssuerCredentialSubject;
190
194
  }
191
195
 
192
- export interface CommonCredentialResponse {
196
+ export interface CommonCredentialResponse extends ExperimentalSubjectIssuance {
193
197
  format: string;
194
198
  credential?: W3CVerifiableCredential;
195
199
  acceptance_token?: string;
@@ -270,3 +274,23 @@ export interface GrantUrnIetf {
270
274
  }
271
275
 
272
276
  export const PRE_AUTH_CODE_LITERAL = 'pre-authorized_code';
277
+
278
+ export type NotificationEventType = 'credential_accepted' | 'credential_failure' | 'credential_deleted';
279
+
280
+ export interface NotificationRequest {
281
+ notification_id: string;
282
+ event: NotificationEventType | string;
283
+ event_description?: string;
284
+ credential?: any; // Experimental support to have a wallet sign a credential. Not part of the spec
285
+ }
286
+
287
+ export type NotificationError = 'invalid_notification_id' | 'invalid_notification_request';
288
+
289
+ export type NotificationResult = {
290
+ error: boolean;
291
+ response?: NotificationErrorResponse;
292
+ };
293
+
294
+ export interface NotificationErrorResponse {
295
+ error: NotificationError | string;
296
+ }
@@ -13,6 +13,7 @@ export interface CredentialOfferSession extends StateType {
13
13
  status: IssueStatus;
14
14
  error?: string;
15
15
  lastUpdatedAt: number;
16
+ notification_id: string;
16
17
  issuerState?: string; //todo: Probably good to hash it here, since it would come in from the client and we could match the hash and thus use the client value
17
18
  preAuthorizedCode?: string; //todo: Probably good to hash it here, since it would come in from the client and we could match the hash and thus use the client value
18
19
  }
@@ -1,3 +1,5 @@
1
+ import { Loggers, LogMethod } from '@sphereon/ssi-types';
2
+
1
3
  export * from './Authorization.types';
2
4
  export * from './CredentialIssuance.types';
3
5
  export * from './Generic.types';
@@ -10,3 +12,8 @@ export * from './OpenID4VCIVersions.types';
10
12
  export * from './StateManager.types';
11
13
  export * from './Token.types';
12
14
  export * from './QRCode.types';
15
+
16
+ export const VCI_LOGGERS = Loggers.default();
17
+ export const VCI_LOG_COMMON = VCI_LOGGERS.options('sphereon:oid4vci:common', { methods: [LogMethod.EVENT, LogMethod.DEBUG_PKG] }).get(
18
+ 'sphereon:oid4vci:common',
19
+ );
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sphereon/oid4vci-common",
3
- "version": "0.10.3",
3
+ "version": "0.10.4-next.14+68c89f4",
4
4
  "description": "OpenID 4 Verifiable Credential Issuance Common Types",
5
5
  "source": "lib/index.ts",
6
6
  "main": "dist/index.js",
@@ -10,7 +10,7 @@
10
10
  "build:clean": "tsc --build --clean && tsc --build"
11
11
  },
12
12
  "dependencies": {
13
- "@sphereon/ssi-types": "^0.23.0",
13
+ "@sphereon/ssi-types": "0.24.1-unstable.112",
14
14
  "cross-fetch": "^3.1.8",
15
15
  "jwt-decode": "^3.1.2",
16
16
  "sha.js": "^2.4.11",
@@ -21,14 +21,6 @@
21
21
  "@types/sha.js": "^2.4.4",
22
22
  "typescript": "5.4.5"
23
23
  },
24
- "peerDependencies": {
25
- "msrcrypto": "^1.5.8"
26
- },
27
- "peerDependenciesMeta": {
28
- "msrcrypto": {
29
- "optional": true
30
- }
31
- },
32
24
  "engines": {
33
25
  "node": ">=18"
34
26
  },
@@ -57,5 +49,5 @@
57
49
  "publishConfig": {
58
50
  "access": "public"
59
51
  },
60
- "gitHead": "4d46a7282a475c4e78d496f82f24114f700ee5e0"
52
+ "gitHead": "68c89f45e627577608d1b10ab260f6810a46fe88"
61
53
  }