@sphereon/did-provider-oyd 0.28.1-feature.esm.cjs.11 → 0.28.1-feature.esm.cjs.13
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/index.cjs +47 -16
- package/dist/index.cjs.map +1 -1
- package/package.json +3 -3
package/dist/index.cjs
CHANGED
|
@@ -1,16 +1,52 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
2
8
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
9
|
+
var __export = (target, all) => {
|
|
10
|
+
for (var name in all)
|
|
11
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from))
|
|
16
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
17
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
18
|
+
}
|
|
19
|
+
return to;
|
|
20
|
+
};
|
|
21
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
22
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
23
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
24
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
25
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
26
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
27
|
+
mod
|
|
28
|
+
));
|
|
29
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
30
|
+
|
|
31
|
+
// src/index.ts
|
|
32
|
+
var index_exports = {};
|
|
33
|
+
__export(index_exports, {
|
|
34
|
+
OydDIDProvider: () => OydDIDProvider,
|
|
35
|
+
SupportedKeyTypes: () => SupportedKeyTypes,
|
|
36
|
+
getDidOydResolver: () => getDidOydResolver
|
|
37
|
+
});
|
|
38
|
+
module.exports = __toCommonJS(index_exports);
|
|
3
39
|
|
|
4
40
|
// src/oyd-did-provider.ts
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
var
|
|
8
|
-
var debug =
|
|
9
|
-
var OydDIDProvider = class extends
|
|
41
|
+
var import_did_manager = require("@veramo/did-manager");
|
|
42
|
+
var import_cross_fetch = __toESM(require("cross-fetch"), 1);
|
|
43
|
+
var import_debug = __toESM(require("debug"), 1);
|
|
44
|
+
var debug = (0, import_debug.default)("veramo:oyd-did:identifier-provider");
|
|
45
|
+
var OydDIDProvider = class extends import_did_manager.AbstractIdentifierProvider {
|
|
10
46
|
static {
|
|
11
47
|
__name(this, "OydDIDProvider");
|
|
12
48
|
}
|
|
13
|
-
|
|
49
|
+
defaultKms;
|
|
14
50
|
constructor(options) {
|
|
15
51
|
super();
|
|
16
52
|
this.defaultKms = options.defaultKms;
|
|
@@ -22,7 +58,7 @@ var OydDIDProvider = class extends _didmanager.AbstractIdentifierProvider {
|
|
|
22
58
|
const url = "https://oydid-registrar.data-container.net/1.0/createIdentifier";
|
|
23
59
|
let didDoc;
|
|
24
60
|
try {
|
|
25
|
-
const response = await
|
|
61
|
+
const response = await (0, import_cross_fetch.default)(url, {
|
|
26
62
|
method: "POST",
|
|
27
63
|
headers: {
|
|
28
64
|
"Content-Type": "application/json"
|
|
@@ -36,7 +72,7 @@ var OydDIDProvider = class extends _didmanager.AbstractIdentifierProvider {
|
|
|
36
72
|
} catch (error) {
|
|
37
73
|
throw new Error("There has been a problem with the fetch operation: " + error.toString());
|
|
38
74
|
}
|
|
39
|
-
const keyType =
|
|
75
|
+
const keyType = options?.keyType || "Ed25519";
|
|
40
76
|
const key = await this.holdKeys({
|
|
41
77
|
// @ts-ignore
|
|
42
78
|
kms: kms || this.defaultKms,
|
|
@@ -118,11 +154,11 @@ var OydDIDProvider = class extends _didmanager.AbstractIdentifierProvider {
|
|
|
118
154
|
};
|
|
119
155
|
|
|
120
156
|
// src/resolver.ts
|
|
121
|
-
|
|
157
|
+
var import_cross_fetch2 = __toESM(require("cross-fetch"), 1);
|
|
122
158
|
var resolveDidOyd = /* @__PURE__ */ __name(async (didUrl, _parsed, _resolver, options) => {
|
|
123
159
|
try {
|
|
124
160
|
const baseUrl = "https://oydid-resolver.data-container.net";
|
|
125
|
-
const response = await
|
|
161
|
+
const response = await (0, import_cross_fetch2.default)(`${baseUrl}/1.0/identifiers/${didUrl}`);
|
|
126
162
|
if (!response.ok) {
|
|
127
163
|
throw new Error("Network response was not ok: " + response.statusText);
|
|
128
164
|
}
|
|
@@ -154,9 +190,4 @@ var SupportedKeyTypes = /* @__PURE__ */ function(SupportedKeyTypes2) {
|
|
|
154
190
|
SupportedKeyTypes2["X25519"] = "X25519";
|
|
155
191
|
return SupportedKeyTypes2;
|
|
156
192
|
}({});
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
exports.OydDIDProvider = OydDIDProvider; exports.SupportedKeyTypes = SupportedKeyTypes; exports.getDidOydResolver = getDidOydResolver;
|
|
162
193
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/SSI-SDK-crypto-extensions/SSI-SDK-crypto-extensions/packages/did-provider-oyd/dist/index.cjs","../src/oyd-did-provider.ts","../src/resolver.ts","../src/types/oyd-provider-types.ts"],"names":["debug","Debug","OydDIDProvider","AbstractIdentifierProvider","defaultKms","constructor","options","createIdentifier","kms","context","body","url","didDoc","response","fetch","method","headers","JSON","stringify","ok","Error","statusText","json","error","toString","keyType","key","holdKeys","kid","did","publicKeyHex","keys","privateKeyHex","identifier","controllerKeyId","services","updateIdentifier","args","deleteIdentifier","agent","keyManagerDelete","addKey","success","addService","service","removeKey","removeService","keyManagerImport","type","meta","algorithms","keyManagerCreate","resolveDidOyd","didUrl","_parsed","_resolver","baseUrl","getDidOydResolver","SupportedKeyTypes"],"mappings":"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","file":"/home/runner/work/SSI-SDK-crypto-extensions/SSI-SDK-crypto-extensions/packages/did-provider-oyd/dist/index.cjs","sourcesContent":[null,"import { IIdentifier, IKey, IService, IAgentContext, IKeyManager } from '@veramo/core'\nimport { AbstractIdentifierProvider } from '@veramo/did-manager'\nimport type { OydCreateIdentifierOptions, OydDidHoldKeysArgs, OydDidSupportedKeyTypes } from './types/oyd-provider-types.js'\nimport fetch from 'cross-fetch'\n\nimport Debug from 'debug'\nconst debug = Debug('veramo:oyd-did:identifier-provider')\n\ntype IContext = IAgentContext<IKeyManager>\n\n/**\n * {@link @veramo/did-manager#DIDManager} identifier provider for `did:oyd` identifiers\n * @public\n */\nexport class OydDIDProvider extends AbstractIdentifierProvider {\n private defaultKms?: string\n\n constructor(options: { defaultKms?: string }) {\n super()\n this.defaultKms = options.defaultKms\n }\n\n async createIdentifier(\n { kms, options }: { kms?: string; options: OydCreateIdentifierOptions },\n context: IContext\n ): Promise<Omit<IIdentifier, 'provider'>> {\n const body = { options }\n const url = 'https://oydid-registrar.data-container.net/1.0/createIdentifier'\n\n let didDoc: any | undefined\n try {\n const response = await fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body),\n })\n if (!response.ok) {\n throw new Error('Network response was not ok: ' + response.statusText)\n }\n didDoc = await response.json()\n } catch (error) {\n // @ts-ignore\n throw new Error('There has been a problem with the fetch operation: ' + error.toString())\n }\n\n const keyType: OydDidSupportedKeyTypes = options?.keyType || 'Ed25519'\n const key = await this.holdKeys(\n {\n // @ts-ignore\n kms: kms || this.defaultKms,\n options: {\n keyType,\n kid: didDoc.did + '#key-doc',\n publicKeyHex: didDoc.keys[0].publicKeyHex,\n privateKeyHex: didDoc.keys[0].privateKeyHex,\n },\n },\n context\n )\n\n const identifier: Omit<IIdentifier, 'provider'> = {\n did: didDoc.did,\n controllerKeyId: key.kid,\n keys: [key],\n services: [],\n }\n debug('Created', identifier.did)\n return identifier\n }\n\n async updateIdentifier(\n args: { did: string; kms?: string | undefined; alias?: string | undefined; options?: any },\n context: IAgentContext<IKeyManager>\n ): Promise<IIdentifier> {\n throw new Error('OydDIDProvider updateIdentifier not supported yet.')\n }\n\n async deleteIdentifier(identifier: IIdentifier, context: IContext): Promise<boolean> {\n for (const { kid } of identifier.keys) {\n await context.agent.keyManagerDelete({ kid })\n }\n return true\n }\n\n async addKey({ identifier, key, options }: { identifier: IIdentifier; key: IKey; options?: any }, context: IContext): Promise<any> {\n return { success: true }\n }\n\n async addService({ identifier, service, options }: { identifier: IIdentifier; service: IService; options?: any }, context: IContext): Promise<any> {\n return { success: true }\n }\n\n async removeKey(args: { identifier: IIdentifier; kid: string; options?: any }, context: IContext): Promise<any> {\n return { success: true }\n }\n\n async removeService(args: { identifier: IIdentifier; id: string; options?: any }, context: IContext): Promise<any> {\n return { success: true }\n }\n\n private async holdKeys(args: OydDidHoldKeysArgs, context: IContext): Promise<IKey> {\n if (args.options.privateKeyHex) {\n return context.agent.keyManagerImport({\n // @ts-ignore\n kms: args.kms || this.defaultKms,\n type: args.options.keyType,\n kid: args.options.kid,\n privateKeyHex: args.options.privateKeyHex,\n meta: {\n algorithms: ['Ed25519'],\n },\n })\n }\n return context.agent.keyManagerCreate({\n type: args.options.keyType,\n // @ts-ignore\n kms: args.kms || this.defaultKms,\n meta: {\n algorithms: ['Ed25519'],\n },\n })\n }\n}\n","import { DIDResolutionOptions, DIDResolutionResult, DIDResolver, ParsedDID, Resolvable } from 'did-resolver'\nimport fetch from 'cross-fetch'\n\nconst resolveDidOyd: DIDResolver = async (\n didUrl: string,\n _parsed: ParsedDID,\n _resolver: Resolvable,\n options: DIDResolutionOptions\n): Promise<DIDResolutionResult> => {\n try {\n const baseUrl: string = 'https://oydid-resolver.data-container.net'\n // const didDoc = await axios.get(`${baseUrl}/1.0/identifiers/${didUrl}`);\n const response = await fetch(`${baseUrl}/1.0/identifiers/${didUrl}`)\n if (!response.ok) {\n throw new Error('Network response was not ok: ' + response.statusText)\n }\n const didDoc = await response.json()\n return didDoc as DIDResolutionResult\n } catch (err: any) {\n return {\n didDocumentMetadata: {},\n didResolutionMetadata: { error: 'invalidDid', message: err.toString() },\n didDocument: null,\n }\n }\n}\n\n/**\n * Provides a mapping to a did:oyd resolver, usable by {@link did-resolver#Resolver}.\n *\n * @public\n */\nexport function getDidOydResolver() {\n return { oyd: resolveDidOyd }\n}\n","export type OydCreateIdentifierOptions = {\n keyType?: OydDidSupportedKeyTypes\n privateKeyHex?: string\n keyUse?: KeyUse\n}\n\nexport type OydDidHoldKeysArgs = {\n kms: string\n options: HoldKeysOpts\n}\n\ntype HoldKeysOpts = {\n keyType: OydDidSupportedKeyTypes\n kid: string\n publicKeyHex?: string\n privateKeyHex?: string\n}\n\nexport enum SupportedKeyTypes {\n Secp256r1 = 'Secp256r1',\n Secp256k1 = 'Secp256k1',\n Ed25519 = 'Ed25519',\n X25519 = 'X25519',\n}\n\nexport type OydDidSupportedKeyTypes = keyof typeof SupportedKeyTypes\n\nexport type KeyUse = 'sig' | 'enc'\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/oyd-did-provider.ts","../src/resolver.ts","../src/types/oyd-provider-types.ts"],"sourcesContent":["/**\n * Provides `did:oyd` {@link @ownyourdata/did-provider-oyd#OydDIDProvider | identifier provider } for the\n * {@link @veramo/did-manager#DIDManager}\n *\n * @packageDocumentation\n */\nexport { OydDIDProvider } from './oyd-did-provider.js'\nexport { getDidOydResolver } from './resolver.js'\nexport * from './types/oyd-provider-types.js'\n","import { IIdentifier, IKey, IService, IAgentContext, IKeyManager } from '@veramo/core'\nimport { AbstractIdentifierProvider } from '@veramo/did-manager'\nimport type { OydCreateIdentifierOptions, OydDidHoldKeysArgs, OydDidSupportedKeyTypes } from './types/oyd-provider-types.js'\nimport fetch from 'cross-fetch'\n\nimport Debug from 'debug'\nconst debug = Debug('veramo:oyd-did:identifier-provider')\n\ntype IContext = IAgentContext<IKeyManager>\n\n/**\n * {@link @veramo/did-manager#DIDManager} identifier provider for `did:oyd` identifiers\n * @public\n */\nexport class OydDIDProvider extends AbstractIdentifierProvider {\n private defaultKms?: string\n\n constructor(options: { defaultKms?: string }) {\n super()\n this.defaultKms = options.defaultKms\n }\n\n async createIdentifier(\n { kms, options }: { kms?: string; options: OydCreateIdentifierOptions },\n context: IContext\n ): Promise<Omit<IIdentifier, 'provider'>> {\n const body = { options }\n const url = 'https://oydid-registrar.data-container.net/1.0/createIdentifier'\n\n let didDoc: any | undefined\n try {\n const response = await fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body),\n })\n if (!response.ok) {\n throw new Error('Network response was not ok: ' + response.statusText)\n }\n didDoc = await response.json()\n } catch (error) {\n // @ts-ignore\n throw new Error('There has been a problem with the fetch operation: ' + error.toString())\n }\n\n const keyType: OydDidSupportedKeyTypes = options?.keyType || 'Ed25519'\n const key = await this.holdKeys(\n {\n // @ts-ignore\n kms: kms || this.defaultKms,\n options: {\n keyType,\n kid: didDoc.did + '#key-doc',\n publicKeyHex: didDoc.keys[0].publicKeyHex,\n privateKeyHex: didDoc.keys[0].privateKeyHex,\n },\n },\n context\n )\n\n const identifier: Omit<IIdentifier, 'provider'> = {\n did: didDoc.did,\n controllerKeyId: key.kid,\n keys: [key],\n services: [],\n }\n debug('Created', identifier.did)\n return identifier\n }\n\n async updateIdentifier(\n args: { did: string; kms?: string | undefined; alias?: string | undefined; options?: any },\n context: IAgentContext<IKeyManager>\n ): Promise<IIdentifier> {\n throw new Error('OydDIDProvider updateIdentifier not supported yet.')\n }\n\n async deleteIdentifier(identifier: IIdentifier, context: IContext): Promise<boolean> {\n for (const { kid } of identifier.keys) {\n await context.agent.keyManagerDelete({ kid })\n }\n return true\n }\n\n async addKey({ identifier, key, options }: { identifier: IIdentifier; key: IKey; options?: any }, context: IContext): Promise<any> {\n return { success: true }\n }\n\n async addService({ identifier, service, options }: { identifier: IIdentifier; service: IService; options?: any }, context: IContext): Promise<any> {\n return { success: true }\n }\n\n async removeKey(args: { identifier: IIdentifier; kid: string; options?: any }, context: IContext): Promise<any> {\n return { success: true }\n }\n\n async removeService(args: { identifier: IIdentifier; id: string; options?: any }, context: IContext): Promise<any> {\n return { success: true }\n }\n\n private async holdKeys(args: OydDidHoldKeysArgs, context: IContext): Promise<IKey> {\n if (args.options.privateKeyHex) {\n return context.agent.keyManagerImport({\n // @ts-ignore\n kms: args.kms || this.defaultKms,\n type: args.options.keyType,\n kid: args.options.kid,\n privateKeyHex: args.options.privateKeyHex,\n meta: {\n algorithms: ['Ed25519'],\n },\n })\n }\n return context.agent.keyManagerCreate({\n type: args.options.keyType,\n // @ts-ignore\n kms: args.kms || this.defaultKms,\n meta: {\n algorithms: ['Ed25519'],\n },\n })\n }\n}\n","import { DIDResolutionOptions, DIDResolutionResult, DIDResolver, ParsedDID, Resolvable } from 'did-resolver'\nimport fetch from 'cross-fetch'\n\nconst resolveDidOyd: DIDResolver = async (\n didUrl: string,\n _parsed: ParsedDID,\n _resolver: Resolvable,\n options: DIDResolutionOptions\n): Promise<DIDResolutionResult> => {\n try {\n const baseUrl: string = 'https://oydid-resolver.data-container.net'\n // const didDoc = await axios.get(`${baseUrl}/1.0/identifiers/${didUrl}`);\n const response = await fetch(`${baseUrl}/1.0/identifiers/${didUrl}`)\n if (!response.ok) {\n throw new Error('Network response was not ok: ' + response.statusText)\n }\n const didDoc = await response.json()\n return didDoc as DIDResolutionResult\n } catch (err: any) {\n return {\n didDocumentMetadata: {},\n didResolutionMetadata: { error: 'invalidDid', message: err.toString() },\n didDocument: null,\n }\n }\n}\n\n/**\n * Provides a mapping to a did:oyd resolver, usable by {@link did-resolver#Resolver}.\n *\n * @public\n */\nexport function getDidOydResolver() {\n return { oyd: resolveDidOyd }\n}\n","export type OydCreateIdentifierOptions = {\n keyType?: OydDidSupportedKeyTypes\n privateKeyHex?: string\n keyUse?: KeyUse\n}\n\nexport type OydDidHoldKeysArgs = {\n kms: string\n options: HoldKeysOpts\n}\n\ntype HoldKeysOpts = {\n keyType: OydDidSupportedKeyTypes\n kid: string\n publicKeyHex?: string\n privateKeyHex?: string\n}\n\nexport enum SupportedKeyTypes {\n Secp256r1 = 'Secp256r1',\n Secp256k1 = 'Secp256k1',\n Ed25519 = 'Ed25519',\n X25519 = 'X25519',\n}\n\nexport type OydDidSupportedKeyTypes = keyof typeof SupportedKeyTypes\n\nexport type KeyUse = 'sig' | 'enc'\n"],"mappings":"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","names":["debug","Debug","OydDIDProvider","AbstractIdentifierProvider","defaultKms","constructor","options","createIdentifier","kms","context","body","url","didDoc","response","fetch","method","headers","JSON","stringify","ok","Error","statusText","json","error","toString","keyType","key","holdKeys","kid","did","publicKeyHex","keys","privateKeyHex","identifier","controllerKeyId","services","updateIdentifier","args","deleteIdentifier","agent","keyManagerDelete","addKey","success","addService","service","removeKey","removeService","keyManagerImport","type","meta","algorithms","keyManagerCreate","import_cross_fetch","resolveDidOyd","didUrl","_parsed","_resolver","options","baseUrl","response","fetch","ok","Error","statusText","didDoc","json","err","didDocumentMetadata","didResolutionMetadata","error","message","toString","didDocument","getDidOydResolver","oyd","SupportedKeyTypes"]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sphereon/did-provider-oyd",
|
|
3
3
|
"description": "OwnYourData plugin that can enable creation and control of did:oyd identifiers.",
|
|
4
|
-
"version": "0.28.1-feature.esm.cjs.
|
|
4
|
+
"version": "0.28.1-feature.esm.cjs.13+24ca549",
|
|
5
5
|
"source": "./src/index.ts",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "./dist/index.cjs",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"did-resolver": "^4.1.0"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
|
-
"@sphereon/ssi-sdk.dev": "
|
|
32
|
+
"@sphereon/ssi-sdk.dev": "0.33.1-feature.vcdm2.tsup.25",
|
|
33
33
|
"@types/debug": "4.1.8",
|
|
34
34
|
"inquirer": "^9.1.4",
|
|
35
35
|
"inquirer-autocomplete-prompt": "^3.0.0",
|
|
@@ -48,5 +48,5 @@
|
|
|
48
48
|
"author": "Christoph Fabianek <christoph@ownyourdata.eu>",
|
|
49
49
|
"keywords": [],
|
|
50
50
|
"license": "MIT",
|
|
51
|
-
"gitHead": "
|
|
51
|
+
"gitHead": "24ca549841533d8ae29184b42dc92a416bdb246d"
|
|
52
52
|
}
|