@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
|
-
|
|
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?:
|
|
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
|
package/dist/types.d.ts.map
CHANGED
|
@@ -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,
|
|
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;
|
|
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"}
|
package/dist/web-did-provider.js
CHANGED
|
@@ -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 =
|
|
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.
|
|
37
|
+
opts.keys = [{ type: 'Secp256r1', isController: true }];
|
|
38
38
|
}
|
|
39
|
-
const
|
|
40
|
-
|
|
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: (
|
|
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":";;;;;;;;;;;;;;;AAAA,2EAA0D;AAC1D,2EAA8E;AAE9E,qDAAgE;AAEhE,kDAAyB;AAGzB,MAAM,KAAK,GAAG,IAAA,eAAK,EAAC,sCAAsC,CAAC,CAAA;AAI3D;;;GAGG;AACH,MAAa,cAAe,SAAQ,wCAA0B;IAG5D,YAAY,OAA+B;QACzC,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAA;IACtC,CAAC;IAEK,gBAAgB,CAAC,IAA2B,EAAE,OAAiB;;;YACnE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI,CAAA;YAC3B,MAAM,IAAI,GAAG,
|
|
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.
|
|
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.
|
|
13
|
-
"@sphereon/ssi-sdk-ext.key-utils": "0.13.
|
|
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": "
|
|
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
|
-
|
|
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>
|
package/src/web-did-provider.ts
CHANGED
|
@@ -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 =
|
|
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.
|
|
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
|
-
|
|
34
|
-
|
|
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 =
|
|
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),
|