@sphereon/did-provider-oyd 0.28.1-feature.esm.cjs.8 → 0.28.1-feature.esm.cjs.9
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 +16 -47
- package/dist/index.cjs.map +1 -1
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -1,52 +1,16 @@
|
|
|
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;
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var __defProp = Object.defineProperty;
|
|
8
2
|
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);
|
|
39
3
|
|
|
40
4
|
// src/oyd-did-provider.ts
|
|
41
|
-
var
|
|
42
|
-
var
|
|
43
|
-
var
|
|
44
|
-
var debug = (0,
|
|
45
|
-
var OydDIDProvider = class extends
|
|
5
|
+
var _didmanager = require('@veramo/did-manager');
|
|
6
|
+
var _crossfetch = require('cross-fetch'); var _crossfetch2 = _interopRequireDefault(_crossfetch);
|
|
7
|
+
var _debug = require('debug'); var _debug2 = _interopRequireDefault(_debug);
|
|
8
|
+
var debug = _debug2.default.call(void 0, "veramo:oyd-did:identifier-provider");
|
|
9
|
+
var OydDIDProvider = class extends _didmanager.AbstractIdentifierProvider {
|
|
46
10
|
static {
|
|
47
11
|
__name(this, "OydDIDProvider");
|
|
48
12
|
}
|
|
49
|
-
|
|
13
|
+
|
|
50
14
|
constructor(options) {
|
|
51
15
|
super();
|
|
52
16
|
this.defaultKms = options.defaultKms;
|
|
@@ -58,7 +22,7 @@ var OydDIDProvider = class extends import_did_manager.AbstractIdentifierProvider
|
|
|
58
22
|
const url = "https://oydid-registrar.data-container.net/1.0/createIdentifier";
|
|
59
23
|
let didDoc;
|
|
60
24
|
try {
|
|
61
|
-
const response = await (0,
|
|
25
|
+
const response = await _crossfetch2.default.call(void 0, url, {
|
|
62
26
|
method: "POST",
|
|
63
27
|
headers: {
|
|
64
28
|
"Content-Type": "application/json"
|
|
@@ -72,7 +36,7 @@ var OydDIDProvider = class extends import_did_manager.AbstractIdentifierProvider
|
|
|
72
36
|
} catch (error) {
|
|
73
37
|
throw new Error("There has been a problem with the fetch operation: " + error.toString());
|
|
74
38
|
}
|
|
75
|
-
const keyType = options
|
|
39
|
+
const keyType = _optionalChain([options, 'optionalAccess', _ => _.keyType]) || "Ed25519";
|
|
76
40
|
const key = await this.holdKeys({
|
|
77
41
|
// @ts-ignore
|
|
78
42
|
kms: kms || this.defaultKms,
|
|
@@ -154,11 +118,11 @@ var OydDIDProvider = class extends import_did_manager.AbstractIdentifierProvider
|
|
|
154
118
|
};
|
|
155
119
|
|
|
156
120
|
// src/resolver.ts
|
|
157
|
-
|
|
121
|
+
|
|
158
122
|
var resolveDidOyd = /* @__PURE__ */ __name(async (didUrl, _parsed, _resolver, options) => {
|
|
159
123
|
try {
|
|
160
124
|
const baseUrl = "https://oydid-resolver.data-container.net";
|
|
161
|
-
const response = await (0,
|
|
125
|
+
const response = await _crossfetch2.default.call(void 0, `${baseUrl}/1.0/identifiers/${didUrl}`);
|
|
162
126
|
if (!response.ok) {
|
|
163
127
|
throw new Error("Network response was not ok: " + response.statusText);
|
|
164
128
|
}
|
|
@@ -190,4 +154,9 @@ var SupportedKeyTypes = /* @__PURE__ */ function(SupportedKeyTypes2) {
|
|
|
190
154
|
SupportedKeyTypes2["X25519"] = "X25519";
|
|
191
155
|
return SupportedKeyTypes2;
|
|
192
156
|
}({});
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
exports.OydDIDProvider = OydDIDProvider; exports.SupportedKeyTypes = SupportedKeyTypes; exports.getDidOydResolver = getDidOydResolver;
|
|
193
162
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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"]}
|
|
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"]}
|
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.9+71682ea",
|
|
5
5
|
"source": "./src/index.ts",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "./dist/index.cjs",
|
|
@@ -48,5 +48,5 @@
|
|
|
48
48
|
"author": "Christoph Fabianek <christoph@ownyourdata.eu>",
|
|
49
49
|
"keywords": [],
|
|
50
50
|
"license": "MIT",
|
|
51
|
-
"gitHead": "
|
|
51
|
+
"gitHead": "71682ea0c528f5b32c421245c253b3bc9d6296a0"
|
|
52
52
|
}
|