@sphereon/ssi-sdk-ext.did-provider-web 0.13.0 → 0.13.1-next.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/types.d.ts CHANGED
@@ -1,12 +1,11 @@
1
+ import { X509Opts } from '@sphereon/ssi-sdk-ext.key-utils';
1
2
  import { IAgentContext, IDIDManager, IKeyManager, IService, MinimalImportableKey, TKeyType } from '@veramo/core';
2
3
  export interface IKeyOpts {
3
- keys?: WithRequiredProperty<Partial<MinimalImportableKey>, 'privateKeyHex'>[];
4
+ key?: Partial<MinimalImportableKey>;
5
+ x509?: X509Opts;
4
6
  type?: TKeyType | 'RSA';
5
7
  isController?: boolean;
6
8
  }
7
- type WithRequiredProperty<Type, Key extends keyof Type> = Type & {
8
- [Property in Key]-?: Type[Property];
9
- };
10
9
  export interface IImportProvidedOrGeneratedKeyArgs {
11
10
  kms?: string;
12
11
  options?: IKeyOpts;
@@ -15,8 +14,9 @@ export interface ICreateIdentifierArgs {
15
14
  services?: IService[];
16
15
  kms?: string;
17
16
  alias: string;
18
- options?: IKeyOpts | IKeyOpts[];
17
+ options?: {
18
+ keys?: IKeyOpts | IKeyOpts[];
19
+ };
19
20
  }
20
21
  export type IRequiredContext = IAgentContext<IKeyManager & IDIDManager>;
21
- export {};
22
22
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAEhH,MAAM,WAAW,QAAQ;IACvB,IAAI,CAAC,EAAE,oBAAoB,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,eAAe,CAAC,EAAE,CAAA;IAC7E,IAAI,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAA;IACvB,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAGD,KAAK,oBAAoB,CAAC,IAAI,EAAE,GAAG,SAAS,MAAM,IAAI,IAAI,IAAI,GAAG;KAC9D,QAAQ,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;CACpC,CAAA;AAyBD,MAAM,WAAW,iCAAiC;IAChD,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,QAAQ,CAAA;CACnB;AAcD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAA;IACrB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAAA;CAChC;AACD,MAAM,MAAM,gBAAgB,GAAG,aAAa,CAAC,WAAW,GAAG,WAAW,CAAC,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAA;AAC1D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAEhH,MAAM,WAAW,QAAQ;IACvB,GAAG,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAA;IACnC,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,IAAI,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAA;IACvB,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAiCD,MAAM,WAAW,iCAAiC;IAChD,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,QAAQ,CAAA;CACnB;AAcD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAA;IACrB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAAA;KAAE,CAAA;CAC3C;AAED,MAAM,MAAM,gBAAgB,GAAG,aAAa,CAAC,WAAW,GAAG,WAAW,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"web-did-provider.d.ts","sourceRoot":"","sources":["../src/web-did-provider.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AACtF,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAA;AAGhE,OAAO,EAAE,qBAAqB,EAAY,MAAM,SAAS,CAAA;AAIzD,KAAK,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,CAAA;AAE1C;;;GAGG;AACH,qBAAa,cAAe,SAAQ,0BAA0B;IAC5D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;gBAEvB,OAAO,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE;IAKrC,gBAAgB,CAAC,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAyBxG,gBAAgB,CACpB,IAAI,EAAE;QACJ,GAAG,EAAE,MAAM,CAAA;QACX,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACxB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC1B,OAAO,CAAC,EAAE,GAAG,CAAA;KACd,EACD,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,GAClC,OAAO,CAAC,WAAW,CAAC;IAIjB,gBAAgB,CAAC,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAO9E,MAAM,CACV,EACE,UAAU,EACV,GAAG,EACH,OAAO,GACR,EAAE;QACD,UAAU,EAAE,WAAW,CAAA;QACvB,GAAG,EAAE,IAAI,CAAA;QACT,OAAO,CAAC,EAAE,GAAG,CAAA;KACd,EACD,OAAO,EAAE,QAAQ,GAChB,OAAO,CAAC,GAAG,CAAC;IAIT,UAAU,CACd,EACE,UAAU,EACV,OAAO,EACP,OAAO,GACR,EAAE;QACD,UAAU,EAAE,WAAW,CAAA;QACvB,OAAO,EAAE,QAAQ,CAAA;QACjB,OAAO,CAAC,EAAE,GAAG,CAAA;KACd,EACD,OAAO,EAAE,QAAQ,GAChB,OAAO,CAAC,GAAG,CAAC;IAIT,SAAS,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,WAAW,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,GAAG,CAAA;KAAE,EAAE,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;IAIzG,aAAa,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,WAAW,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,GAAG,CAAA;KAAE,EAAE,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;CAGnH"}
1
+ {"version":3,"file":"web-did-provider.d.ts","sourceRoot":"","sources":["../src/web-did-provider.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AACtF,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAA;AAGhE,OAAO,EAAE,qBAAqB,EAAY,MAAM,SAAS,CAAA;AAIzD,KAAK,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,CAAA;AAE1C;;;GAGG;AACH,qBAAa,cAAe,SAAQ,0BAA0B;IAC5D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;gBAEvB,OAAO,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE;IAKrC,gBAAgB,CAAC,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IA0BxG,gBAAgB,CACpB,IAAI,EAAE;QACJ,GAAG,EAAE,MAAM,CAAA;QACX,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACxB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC1B,OAAO,CAAC,EAAE,GAAG,CAAA;KACd,EACD,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,GAClC,OAAO,CAAC,WAAW,CAAC;IAIjB,gBAAgB,CAAC,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAO9E,MAAM,CACV,EACE,UAAU,EACV,GAAG,EACH,OAAO,GACR,EAAE;QACD,UAAU,EAAE,WAAW,CAAA;QACvB,GAAG,EAAE,IAAI,CAAA;QACT,OAAO,CAAC,EAAE,GAAG,CAAA;KACd,EACD,OAAO,EAAE,QAAQ,GAChB,OAAO,CAAC,GAAG,CAAC;IAIT,UAAU,CACd,EACE,UAAU,EACV,OAAO,EACP,OAAO,GACR,EAAE;QACD,UAAU,EAAE,WAAW,CAAA;QACvB,OAAO,EAAE,QAAQ,CAAA;QACjB,OAAO,CAAC,EAAE,GAAG,CAAA;KACd,EACD,OAAO,EAAE,QAAQ,GAChB,OAAO,CAAC,GAAG,CAAC;IAIT,SAAS,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,WAAW,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,GAAG,CAAA;KAAE,EAAE,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;IAIzG,aAAa,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,WAAW,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,GAAG,CAAA;KAAE,EAAE,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;CAGnH"}
@@ -28,24 +28,23 @@ class WebDIDProvider extends did_manager_1.AbstractIdentifierProvider {
28
28
  this.defaultKms = options.defaultKms;
29
29
  }
30
30
  createIdentifier(args, context) {
31
- var _a;
31
+ var _a, _b;
32
32
  return __awaiter(this, void 0, void 0, function* () {
33
33
  const { kms, alias } = args;
34
- const opts = Array.isArray(args.options) ? args.options : args.options ? [args.options] : [];
35
- if (opts.length === 0) {
34
+ const opts = (_a = args.options) !== null && _a !== void 0 ? _a : {};
35
+ if (!opts.keys || (Array.isArray(opts.keys) && opts.keys.length === 0)) {
36
36
  // Let's generate a key as no import keys or types are provided
37
- opts.push({ type: 'Secp256r1', isController: true });
37
+ opts.keys = [{ type: 'Secp256r1', isController: true }];
38
38
  }
39
- const keys = yield Promise.all(opts.map((options) => {
40
- return (0, ssi_sdk_ext_key_utils_1.importProvidedOrGeneratedKey)({ kms: kms !== null && kms !== void 0 ? kms : this.defaultKms, options }, context);
41
- }));
42
- const controllerIdx = opts.findIndex((opt) => opt.isController);
39
+ const keyOpts = typeof opts.keys === 'object' ? [opts.keys] : opts.keys;
40
+ const keys = yield Promise.all(keyOpts.map((keyOpt) => (0, ssi_sdk_ext_key_utils_1.importProvidedOrGeneratedKey)({ kms: kms !== null && kms !== void 0 ? kms : this.defaultKms, options: Array.isArray(keyOpt) ? keyOpt[0] : keyOpt }, context)));
41
+ const controllerIdx = keyOpts.findIndex((opt) => opt.isController);
43
42
  const controllerKeyId = controllerIdx < 0 ? keys[0].kid : keys[controllerIdx].kid;
44
43
  const identifier = {
45
44
  did: yield (0, ssi_sdk_ext_did_utils_1.asDidWeb)(alias),
46
45
  controllerKeyId,
47
46
  keys,
48
- services: (_a = args.services) !== null && _a !== void 0 ? _a : [],
47
+ services: (_b = args.services) !== null && _b !== void 0 ? _b : [],
49
48
  };
50
49
  debug('Created', identifier.did);
51
50
  return identifier;
@@ -1 +1 @@
1
- {"version":3,"file":"web-did-provider.js","sourceRoot":"","sources":["../src/web-did-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web-did-provider.js","sourceRoot":"","sources":["../src/web-did-provider.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sphereon/ssi-sdk-ext.did-provider-web",
3
3
  "description": "plugin that can enable creation and control of did:web identifiers.",
4
- "version": "0.13.0",
4
+ "version": "0.13.1-next.10+a555f11",
5
5
  "main": "dist/index.js",
6
6
  "exports": "./dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -9,8 +9,8 @@
9
9
  "build": "tsc"
10
10
  },
11
11
  "dependencies": {
12
- "@sphereon/ssi-sdk-ext.did-utils": "0.13.0",
13
- "@sphereon/ssi-sdk-ext.key-utils": "0.13.0",
12
+ "@sphereon/ssi-sdk-ext.did-utils": "0.13.1-next.10+a555f11",
13
+ "@sphereon/ssi-sdk-ext.key-utils": "0.13.1-next.10+a555f11",
14
14
  "@veramo/core": "4.2.0",
15
15
  "@veramo/did-manager": "4.2.0",
16
16
  "debug": "^4.3.4"
@@ -44,5 +44,5 @@
44
44
  "secp256r1",
45
45
  "RSA"
46
46
  ],
47
- "gitHead": "636149f9684bc7670579ea47fbe585a5e98e9a46"
47
+ "gitHead": "a555f115901f325fbee26be5aeda23f808b48a1d"
48
48
  }
package/src/types.ts CHANGED
@@ -1,15 +1,20 @@
1
+ import { X509Opts } from '@sphereon/ssi-sdk-ext.key-utils'
1
2
  import { IAgentContext, IDIDManager, IKeyManager, IService, MinimalImportableKey, TKeyType } from '@veramo/core'
2
3
 
3
4
  export interface IKeyOpts {
4
- keys?: WithRequiredProperty<Partial<MinimalImportableKey>, 'privateKeyHex'>[] // Optional key to import with only privateKeyHex mandatory. If not specified a key with random kid will be created
5
+ key?: Partial<MinimalImportableKey> // Optional key to import with only privateKeyHex mandatory. If not specified a key with random kid will be created
6
+ x509?: X509Opts
5
7
  type?: TKeyType | 'RSA' // The key type. Defaults to Secp256k1
6
8
  isController?: boolean // Whether this is a controller key for a DID document. Please note that only one key can be a controller key. If multiple are supplied, the first one will be used!
7
9
  }
8
10
 
11
+ /*
9
12
  // Needed to make a single property required
10
13
  type WithRequiredProperty<Type, Key extends keyof Type> = Type & {
11
14
  [Property in Key]-?: Type[Property]
12
15
  }
16
+ */
17
+
13
18
  /*export interface IAddKeyArgs {
14
19
  identifier: IIdentifier
15
20
  key: IKey
@@ -55,6 +60,7 @@ export interface ICreateIdentifierArgs {
55
60
  services?: IService[]
56
61
  kms?: string
57
62
  alias: string
58
- options?: IKeyOpts | IKeyOpts[]
63
+ options?: { keys?: IKeyOpts | IKeyOpts[] }
59
64
  }
65
+
60
66
  export type IRequiredContext = IAgentContext<IKeyManager & IDIDManager>
@@ -24,18 +24,19 @@ export class WebDIDProvider extends AbstractIdentifierProvider {
24
24
 
25
25
  async createIdentifier(args: ICreateIdentifierArgs, context: IContext): Promise<Omit<IIdentifier, 'provider'>> {
26
26
  const { kms, alias } = args
27
- const opts = Array.isArray(args.options) ? args.options : args.options ? [args.options] : ([] as IKeyOpts[])
28
- if (opts.length === 0) {
27
+ const opts = args.options ?? {}
28
+ if (!opts.keys || (Array.isArray(opts.keys) && opts.keys.length === 0)) {
29
29
  // Let's generate a key as no import keys or types are provided
30
- opts.push({ type: 'Secp256r1', isController: true })
30
+ opts.keys = [{ type: 'Secp256r1', isController: true }]
31
31
  }
32
+ const keyOpts = typeof opts.keys === 'object' ? [opts.keys as IKeyOpts] : opts.keys
32
33
  const keys = await Promise.all(
33
- opts.map((options) => {
34
- return importProvidedOrGeneratedKey({ kms: kms ?? this.defaultKms, options }, context)
35
- })
34
+ keyOpts.map((keyOpt) =>
35
+ importProvidedOrGeneratedKey({ kms: kms ?? this.defaultKms, options: Array.isArray(keyOpt) ? keyOpt[0] : keyOpt }, context)
36
+ )
36
37
  )
37
38
 
38
- const controllerIdx = opts.findIndex((opt) => opt.isController)
39
+ const controllerIdx = keyOpts.findIndex((opt) => opt.isController)
39
40
  const controllerKeyId = controllerIdx < 0 ? keys[0].kid : keys[controllerIdx].kid
40
41
  const identifier: Omit<IIdentifier, 'provider'> = {
41
42
  did: await asDidWeb(alias),