@sphereon/ssi-sdk-ext.did-provider-web 0.12.2-next.13 → 0.12.2-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.
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/web-did-provider.d.ts +2 -2
- package/dist/web-did-provider.d.ts.map +1 -1
- package/dist/web-did-provider.js +6 -4
- package/dist/web-did-provider.js.map +1 -1
- package/package.json +4 -4
- package/src/types.ts +1 -0
- package/src/web-did-provider.ts +31 -6
package/dist/types.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { IAgentContext, IDIDManager, IKeyManager, IService, MinimalImportableKey
|
|
|
2
2
|
export interface IKeyOpts {
|
|
3
3
|
keys?: WithRequiredProperty<Partial<MinimalImportableKey>, 'privateKeyHex'>[];
|
|
4
4
|
type?: TKeyType | 'RSA';
|
|
5
|
+
isController?: boolean;
|
|
5
6
|
}
|
|
6
7
|
type WithRequiredProperty<Type, Key extends keyof Type> = Type & {
|
|
7
8
|
[Property in Key]-?: Type[Property];
|
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,IAAI,CAAC,EAAE,oBAAoB,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,eAAe,CAAC,EAAE,CAAA;IAC7E,IAAI,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAA;
|
|
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"}
|
|
@@ -19,12 +19,12 @@ export declare class WebDIDProvider extends AbstractIdentifierProvider {
|
|
|
19
19
|
options?: any;
|
|
20
20
|
}, context: IAgentContext<IKeyManager>): Promise<IIdentifier>;
|
|
21
21
|
deleteIdentifier(identifier: IIdentifier, context: IContext): Promise<boolean>;
|
|
22
|
-
addKey({ identifier, key, options }: {
|
|
22
|
+
addKey({ identifier, key, options, }: {
|
|
23
23
|
identifier: IIdentifier;
|
|
24
24
|
key: IKey;
|
|
25
25
|
options?: any;
|
|
26
26
|
}, context: IContext): Promise<any>;
|
|
27
|
-
addService({ identifier, service, options }: {
|
|
27
|
+
addService({ identifier, service, options, }: {
|
|
28
28
|
identifier: IIdentifier;
|
|
29
29
|
service: IService;
|
|
30
30
|
options?: any;
|
|
@@ -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,
|
|
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"}
|
package/dist/web-did-provider.js
CHANGED
|
@@ -34,14 +34,16 @@ class WebDIDProvider extends did_manager_1.AbstractIdentifierProvider {
|
|
|
34
34
|
const opts = Array.isArray(args.options) ? args.options : args.options ? [args.options] : [];
|
|
35
35
|
if (opts.length === 0) {
|
|
36
36
|
// Let's generate a key as no import keys or types are provided
|
|
37
|
-
opts.push({ type: 'Secp256r1' });
|
|
37
|
+
opts.push({ type: 'Secp256r1', isController: true });
|
|
38
38
|
}
|
|
39
39
|
const keys = yield Promise.all(opts.map((options) => {
|
|
40
40
|
return (0, ssi_sdk_ext_key_utils_1.importProvidedOrGeneratedKey)({ kms: kms !== null && kms !== void 0 ? kms : this.defaultKms, options }, context);
|
|
41
41
|
}));
|
|
42
|
+
const controllerIdx = opts.findIndex((opt) => opt.isController);
|
|
43
|
+
const controllerKeyId = controllerIdx < 0 ? keys[0].kid : keys[controllerIdx].kid;
|
|
42
44
|
const identifier = {
|
|
43
45
|
did: yield (0, ssi_sdk_ext_did_utils_1.asDidWeb)(alias),
|
|
44
|
-
controllerKeyId
|
|
46
|
+
controllerKeyId,
|
|
45
47
|
keys,
|
|
46
48
|
services: (_a = args.services) !== null && _a !== void 0 ? _a : [],
|
|
47
49
|
};
|
|
@@ -62,12 +64,12 @@ class WebDIDProvider extends did_manager_1.AbstractIdentifierProvider {
|
|
|
62
64
|
return true;
|
|
63
65
|
});
|
|
64
66
|
}
|
|
65
|
-
addKey({ identifier, key, options }, context) {
|
|
67
|
+
addKey({ identifier, key, options, }, context) {
|
|
66
68
|
return __awaiter(this, void 0, void 0, function* () {
|
|
67
69
|
return { success: true };
|
|
68
70
|
});
|
|
69
71
|
}
|
|
70
|
-
addService({ identifier, service, options }, context) {
|
|
72
|
+
addService({ identifier, service, options, }, context) {
|
|
71
73
|
return __awaiter(this, void 0, void 0, function* () {
|
|
72
74
|
return { success: true };
|
|
73
75
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-did-provider.js","sourceRoot":"","sources":["../src/web-did-provider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2EAA0D;AAC1D,
|
|
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.12.2-next.
|
|
4
|
+
"version": "0.12.2-next.14+89b4916",
|
|
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.12.2-next.
|
|
13
|
-
"@sphereon/ssi-sdk-ext.key-utils": "0.12.2-next.
|
|
12
|
+
"@sphereon/ssi-sdk-ext.did-utils": "0.12.2-next.14+89b4916",
|
|
13
|
+
"@sphereon/ssi-sdk-ext.key-utils": "0.12.2-next.14+89b4916",
|
|
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": "89b4916d5496decd38e91c7962f9045d835393a8"
|
|
48
48
|
}
|
package/src/types.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { IAgentContext, IDIDManager, IKeyManager, IService, MinimalImportableKey
|
|
|
3
3
|
export interface IKeyOpts {
|
|
4
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
5
|
type?: TKeyType | 'RSA' // The key type. Defaults to Secp256k1
|
|
6
|
+
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!
|
|
6
7
|
}
|
|
7
8
|
|
|
8
9
|
// Needed to make a single property required
|
package/src/web-did-provider.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { asDidWeb } from '@sphereon/ssi-sdk-ext.did-utils'
|
|
2
|
-
import {
|
|
2
|
+
import { importProvidedOrGeneratedKey } from '@sphereon/ssi-sdk-ext.key-utils'
|
|
3
3
|
import { IAgentContext, IIdentifier, IKey, IKeyManager, IService } from '@veramo/core'
|
|
4
4
|
import { AbstractIdentifierProvider } from '@veramo/did-manager'
|
|
5
5
|
|
|
6
6
|
import Debug from 'debug'
|
|
7
|
-
import { ICreateIdentifierArgs } from './types'
|
|
7
|
+
import { ICreateIdentifierArgs, IKeyOpts } from './types'
|
|
8
8
|
|
|
9
9
|
const debug = Debug('sphereon:web-did:identifier-provider')
|
|
10
10
|
|
|
@@ -27,16 +27,19 @@ export class WebDIDProvider extends AbstractIdentifierProvider {
|
|
|
27
27
|
const opts = Array.isArray(args.options) ? args.options : args.options ? [args.options] : ([] as IKeyOpts[])
|
|
28
28
|
if (opts.length === 0) {
|
|
29
29
|
// Let's generate a key as no import keys or types are provided
|
|
30
|
-
opts.push({ type: 'Secp256r1' })
|
|
30
|
+
opts.push({ type: 'Secp256r1', isController: true })
|
|
31
31
|
}
|
|
32
32
|
const keys = await Promise.all(
|
|
33
33
|
opts.map((options) => {
|
|
34
34
|
return importProvidedOrGeneratedKey({ kms: kms ?? this.defaultKms, options }, context)
|
|
35
35
|
})
|
|
36
36
|
)
|
|
37
|
+
|
|
38
|
+
const controllerIdx = opts.findIndex((opt) => opt.isController)
|
|
39
|
+
const controllerKeyId = controllerIdx < 0 ? keys[0].kid : keys[controllerIdx].kid
|
|
37
40
|
const identifier: Omit<IIdentifier, 'provider'> = {
|
|
38
41
|
did: await asDidWeb(alias),
|
|
39
|
-
controllerKeyId
|
|
42
|
+
controllerKeyId,
|
|
40
43
|
keys,
|
|
41
44
|
services: args.services ?? [],
|
|
42
45
|
}
|
|
@@ -63,11 +66,33 @@ export class WebDIDProvider extends AbstractIdentifierProvider {
|
|
|
63
66
|
return true
|
|
64
67
|
}
|
|
65
68
|
|
|
66
|
-
async addKey(
|
|
69
|
+
async addKey(
|
|
70
|
+
{
|
|
71
|
+
identifier,
|
|
72
|
+
key,
|
|
73
|
+
options,
|
|
74
|
+
}: {
|
|
75
|
+
identifier: IIdentifier
|
|
76
|
+
key: IKey
|
|
77
|
+
options?: any
|
|
78
|
+
},
|
|
79
|
+
context: IContext
|
|
80
|
+
): Promise<any> {
|
|
67
81
|
return { success: true }
|
|
68
82
|
}
|
|
69
83
|
|
|
70
|
-
async addService(
|
|
84
|
+
async addService(
|
|
85
|
+
{
|
|
86
|
+
identifier,
|
|
87
|
+
service,
|
|
88
|
+
options,
|
|
89
|
+
}: {
|
|
90
|
+
identifier: IIdentifier
|
|
91
|
+
service: IService
|
|
92
|
+
options?: any
|
|
93
|
+
},
|
|
94
|
+
context: IContext
|
|
95
|
+
): Promise<any> {
|
|
71
96
|
return { success: true }
|
|
72
97
|
}
|
|
73
98
|
|