@veramo/credential-ld 3.1.1-next.12 → 3.1.1-next.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/build/action-handler.js +2 -2
- package/build/action-handler.js.map +1 -1
- package/build/ld-credential-module.d.ts +3 -3
- package/build/ld-credential-module.d.ts.map +1 -1
- package/build/ld-credential-module.js +27 -7
- package/build/ld-credential-module.js.map +1 -1
- package/build/types.d.ts +12 -0
- package/build/types.d.ts.map +1 -1
- package/package.json +5 -5
- package/plugin.schema.json +10 -0
- package/src/action-handler.ts +2 -2
- package/src/ld-credential-module.ts +25 -5
- package/src/types.ts +15 -1
package/build/action-handler.js
CHANGED
|
@@ -115,14 +115,14 @@ class CredentialIssuerLD {
|
|
|
115
115
|
verifyCredentialLD(args, context) {
|
|
116
116
|
return __awaiter(this, void 0, void 0, function* () {
|
|
117
117
|
const credential = args.credential;
|
|
118
|
-
return this.ldCredentialModule.verifyCredential(credential, context);
|
|
118
|
+
return this.ldCredentialModule.verifyCredential(credential, args.fetchRemoteContexts || false, context);
|
|
119
119
|
});
|
|
120
120
|
}
|
|
121
121
|
/** {@inheritdoc ICredentialIssuerLD.verifyPresentationLD} */
|
|
122
122
|
verifyPresentationLD(args, context) {
|
|
123
123
|
return __awaiter(this, void 0, void 0, function* () {
|
|
124
124
|
const presentation = args.presentation;
|
|
125
|
-
return this.ldCredentialModule.verifyPresentation(presentation, args.challenge, args.domain, context);
|
|
125
|
+
return this.ldCredentialModule.verifyPresentation(presentation, args.challenge, args.domain, args.fetchRemoteContexts || false, context);
|
|
126
126
|
});
|
|
127
127
|
}
|
|
128
128
|
findSigningKeyWithId(context, identifier, keyRef) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action-handler.js","sourceRoot":"","sources":["../src/action-handler.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"action-handler.js","sourceRoot":"","sources":["../src/action-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,10 +16,10 @@ export declare class LdCredentialModule {
|
|
|
16
16
|
ldContextLoader: LdContextLoader;
|
|
17
17
|
ldSuiteLoader: LdSuiteLoader;
|
|
18
18
|
});
|
|
19
|
-
getDocumentLoader(context: IAgentContext<IResolver
|
|
19
|
+
getDocumentLoader(context: IAgentContext<IResolver>, attemptToFetchContexts?: boolean): any;
|
|
20
20
|
issueLDVerifiableCredential(credential: CredentialPayload, issuerDid: string, key: IKey, verificationMethodId: string, context: IAgentContext<RequiredAgentMethods>): Promise<VerifiableCredential>;
|
|
21
21
|
signLDVerifiablePresentation(presentation: PresentationPayload, holderDid: string, key: IKey, verificationMethodId: string, challenge: string | undefined, domain: string | undefined, context: IAgentContext<RequiredAgentMethods>): Promise<VerifiablePresentation>;
|
|
22
|
-
verifyCredential(credential: VerifiableCredential, context: IAgentContext<IResolver>): Promise<boolean>;
|
|
23
|
-
verifyPresentation(presentation: VerifiablePresentation, challenge: string | undefined, domain: string | undefined, context: IAgentContext<IResolver>): Promise<boolean>;
|
|
22
|
+
verifyCredential(credential: VerifiableCredential, fetchRemoteContexts: boolean | undefined, context: IAgentContext<IResolver>): Promise<boolean>;
|
|
23
|
+
verifyPresentation(presentation: VerifiablePresentation, challenge: string | undefined, domain: string | undefined, fetchRemoteContexts: boolean | undefined, context: IAgentContext<IResolver>): Promise<boolean>;
|
|
24
24
|
}
|
|
25
25
|
//# sourceMappingURL=ld-credential-module.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ld-credential-module.d.ts","sourceRoot":"","sources":["../src/ld-credential-module.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,IAAI,EACJ,SAAS,EACT,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"ld-credential-module.d.ts","sourceRoot":"","sources":["../src/ld-credential-module.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,IAAI,EACJ,SAAS,EACT,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,cAAc,CAAA;AAKrB,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAMlD,qBAAa,kBAAkB;IAC7B;;;;;;OAMG;IAEH,OAAO,CAAC,eAAe,CAAiB;IACxC,aAAa,EAAE,aAAa,CAAA;gBAChB,OAAO,EAAE;QAAE,eAAe,EAAE,eAAe,CAAC;QAAC,aAAa,EAAE,aAAa,CAAA;KAAE;IAKvF,iBAAiB,CAAC,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,EAAE,sBAAsB,GAAE,OAAe;IAyDtF,2BAA2B,CAC/B,UAAU,EAAE,iBAAiB,EAC7B,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,IAAI,EACT,oBAAoB,EAAE,MAAM,EAC5B,OAAO,EAAE,aAAa,CAAC,oBAAoB,CAAC,GAC3C,OAAO,CAAC,oBAAoB,CAAC;IAe1B,4BAA4B,CAChC,YAAY,EAAE,mBAAmB,EACjC,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,IAAI,EACT,oBAAoB,EAAE,MAAM,EAC5B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,OAAO,EAAE,aAAa,CAAC,oBAAoB,CAAC,GAC3C,OAAO,CAAC,sBAAsB,CAAC;IAiB5B,gBAAgB,CACpB,UAAU,EAAE,oBAAoB,EAChC,mBAAmB,qBAAiB,EACpC,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,GAChC,OAAO,CAAC,OAAO,CAAC;IAmBb,kBAAkB,CACtB,YAAY,EAAE,sBAAsB,EACpC,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,mBAAmB,qBAAiB,EACpC,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,GAChC,OAAO,CAAC,OAAO,CAAC;CAoBpB"}
|
|
@@ -32,6 +32,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
32
32
|
};
|
|
33
33
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
34
34
|
exports.LdCredentialModule = void 0;
|
|
35
|
+
const cross_fetch_1 = __importDefault(require("cross-fetch"));
|
|
35
36
|
const debug_1 = __importDefault(require("debug"));
|
|
36
37
|
const jsonld_signatures_1 = require("jsonld-signatures");
|
|
37
38
|
const vc = __importStar(require("vc-js"));
|
|
@@ -42,7 +43,7 @@ class LdCredentialModule {
|
|
|
42
43
|
this.ldContextLoader = options.ldContextLoader;
|
|
43
44
|
this.ldSuiteLoader = options.ldSuiteLoader;
|
|
44
45
|
}
|
|
45
|
-
getDocumentLoader(context) {
|
|
46
|
+
getDocumentLoader(context, attemptToFetchContexts = false) {
|
|
46
47
|
return (0, jsonld_signatures_1.extendContextLoader)((url) => __awaiter(this, void 0, void 0, function* () {
|
|
47
48
|
// console.log(`resolving context for: ${url}`)
|
|
48
49
|
// did resolution
|
|
@@ -70,8 +71,27 @@ class LdCredentialModule {
|
|
|
70
71
|
document: contextDoc,
|
|
71
72
|
};
|
|
72
73
|
}
|
|
73
|
-
|
|
74
|
-
|
|
74
|
+
else {
|
|
75
|
+
if (attemptToFetchContexts) {
|
|
76
|
+
// attempt to fetch the remote context!!!! MEGA FAIL for JSON-LD.
|
|
77
|
+
debug("WARNING: attempting to fetch the doc directly for ", url);
|
|
78
|
+
try {
|
|
79
|
+
const response = yield (0, cross_fetch_1.default)(url);
|
|
80
|
+
if (response.status === 200) {
|
|
81
|
+
const document = yield response.json();
|
|
82
|
+
return {
|
|
83
|
+
contextUrl: null,
|
|
84
|
+
documentUrl: url,
|
|
85
|
+
document
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
catch (e) {
|
|
90
|
+
debug("WARNING: unable to fetch the doc or interpret it as JSON", e);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
debug(`WARNING: Possible unknown context/identifier for ${url} \n falling back to default documentLoader`);
|
|
75
95
|
return vc.defaultDocumentLoader(url);
|
|
76
96
|
}));
|
|
77
97
|
}
|
|
@@ -105,12 +125,12 @@ class LdCredentialModule {
|
|
|
105
125
|
});
|
|
106
126
|
});
|
|
107
127
|
}
|
|
108
|
-
verifyCredential(credential, context) {
|
|
128
|
+
verifyCredential(credential, fetchRemoteContexts = false, context) {
|
|
109
129
|
return __awaiter(this, void 0, void 0, function* () {
|
|
110
130
|
const result = yield vc.verifyCredential({
|
|
111
131
|
credential,
|
|
112
132
|
suite: this.ldSuiteLoader.getAllSignatureSuites().map((x) => x.getSuiteForVerification()),
|
|
113
|
-
documentLoader: this.getDocumentLoader(context),
|
|
133
|
+
documentLoader: this.getDocumentLoader(context, fetchRemoteContexts),
|
|
114
134
|
purpose: new AssertionProofPurpose(),
|
|
115
135
|
compactProof: false,
|
|
116
136
|
});
|
|
@@ -123,12 +143,12 @@ class LdCredentialModule {
|
|
|
123
143
|
throw Error('Error verifying LD Verifiable Credential');
|
|
124
144
|
});
|
|
125
145
|
}
|
|
126
|
-
verifyPresentation(presentation, challenge, domain, context) {
|
|
146
|
+
verifyPresentation(presentation, challenge, domain, fetchRemoteContexts = false, context) {
|
|
127
147
|
return __awaiter(this, void 0, void 0, function* () {
|
|
128
148
|
const result = yield vc.verify({
|
|
129
149
|
presentation,
|
|
130
150
|
suite: this.ldSuiteLoader.getAllSignatureSuites().map((x) => x.getSuiteForVerification()),
|
|
131
|
-
documentLoader: this.getDocumentLoader(context),
|
|
151
|
+
documentLoader: this.getDocumentLoader(context, fetchRemoteContexts),
|
|
132
152
|
challenge,
|
|
133
153
|
domain,
|
|
134
154
|
purpose: new AssertionProofPurpose(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ld-credential-module.js","sourceRoot":"","sources":["../src/ld-credential-module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,kDAAyB;AACzB,yDAAiE;AACjE,0CAA2B;AAK3B,MAAM,qBAAqB,GAAG,4BAAQ,CAAC,qBAAqB,CAAA;AAE5D,MAAM,KAAK,GAAG,IAAA,eAAK,EAAC,iCAAiC,CAAC,CAAA;AAEtD,MAAa,kBAAkB;IAW7B,YAAY,OAA2E;QACrF,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAA;QAC9C,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAA;IAC5C,CAAC;IAED,iBAAiB,CAAC,OAAiC;
|
|
1
|
+
{"version":3,"file":"ld-credential-module.js","sourceRoot":"","sources":["../src/ld-credential-module.ts"],"names":[],"mappings":"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"}
|
package/build/types.d.ts
CHANGED
|
@@ -133,6 +133,12 @@ export interface IVerifyCredentialLDArgs {
|
|
|
133
133
|
*
|
|
134
134
|
*/
|
|
135
135
|
credential: VerifiableCredential;
|
|
136
|
+
/**
|
|
137
|
+
* Set this to true if you want the '@context' URLs to be fetched in case they are not pre-loaded.
|
|
138
|
+
*
|
|
139
|
+
* @default false
|
|
140
|
+
*/
|
|
141
|
+
fetchRemoteContexts?: boolean;
|
|
136
142
|
}
|
|
137
143
|
/**
|
|
138
144
|
* Encapsulates the parameters required to verify a
|
|
@@ -158,6 +164,12 @@ export interface IVerifyPresentationLDArgs {
|
|
|
158
164
|
* Optional (only for JWT) string domain parameter to verify the verifiable presentation against
|
|
159
165
|
*/
|
|
160
166
|
domain?: string;
|
|
167
|
+
/**
|
|
168
|
+
* Set this to true if you want the '@context' URLs to be fetched in case they are not pre-loaded.
|
|
169
|
+
*
|
|
170
|
+
* @default false
|
|
171
|
+
*/
|
|
172
|
+
fetchRemoteContexts?: boolean;
|
|
161
173
|
}
|
|
162
174
|
/**
|
|
163
175
|
* Represents the requirements that this plugin has.
|
package/build/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,WAAW,EAEX,WAAW,EACX,gBAAgB,EAChB,SAAS,EACT,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,cAAc,CAAA;AAErB;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC3D;;;;;;;;;;;;;OAaG;IACH,8BAA8B,CAC5B,IAAI,EAAE,mCAAmC,EACzC,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,sBAAsB,CAAC,CAAA;IAElC;;;;;;;;;;;;;OAaG;IACH,4BAA4B,CAC1B,IAAI,EAAE,iCAAiC,EACvC,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,oBAAoB,CAAC,CAAA;IAEhC;;;;;;;;;;;OAWG;IACH,kBAAkB,CAAC,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAE9F;;;;;;;;;;;OAWG;IACH,oBAAoB,CAAC,IAAI,EAAE,yBAAyB,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;CACnG;AAED;;;;;GAKG;AACH,MAAM,WAAW,mCAAmC;IAClD;;;;;;;;OAQG;IACH,YAAY,EAAE,mBAAmB,CAAA;IAEjC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;;;GAKG;AACH,MAAM,WAAW,iCAAiC;IAChD;;;;;;;;OAQG;IACH,UAAU,EAAE,iBAAiB,CAAA;IAE7B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;;;;;OAOG;IACH,UAAU,EAAE,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,WAAW,EAEX,WAAW,EACX,gBAAgB,EAChB,SAAS,EACT,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,cAAc,CAAA;AAErB;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC3D;;;;;;;;;;;;;OAaG;IACH,8BAA8B,CAC5B,IAAI,EAAE,mCAAmC,EACzC,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,sBAAsB,CAAC,CAAA;IAElC;;;;;;;;;;;;;OAaG;IACH,4BAA4B,CAC1B,IAAI,EAAE,iCAAiC,EACvC,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,oBAAoB,CAAC,CAAA;IAEhC;;;;;;;;;;;OAWG;IACH,kBAAkB,CAAC,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAE9F;;;;;;;;;;;OAWG;IACH,oBAAoB,CAAC,IAAI,EAAE,yBAAyB,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;CACnG;AAED;;;;;GAKG;AACH,MAAM,WAAW,mCAAmC;IAClD;;;;;;;;OAQG;IACH,YAAY,EAAE,mBAAmB,CAAA;IAEjC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;;;GAKG;AACH,MAAM,WAAW,iCAAiC;IAChD;;;;;;;;OAQG;IACH,UAAU,EAAE,iBAAiB,CAAA;IAE7B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;;;;;OAOG;IACH,UAAU,EAAE,oBAAoB,CAAC;IAEjC;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC9B;AAED;;;;;GAKG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;;;;;OAOG;IACH,YAAY,EAAE,sBAAsB,CAAA;IAEpC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;;;OAIG;IACF,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC/B;AAED;;;;;;;GAOG;AACH,oBAAY,gBAAgB,GAAG,aAAa,CAC1C,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,eAAe,GAAG,gBAAgB,CAAC,CACvG,CAAA;AAED,oBAAY,UAAU,GAAG;IACvB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAChC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@veramo/credential-ld",
|
|
3
3
|
"description": "Veramo plugin for working with W3C JSON-LD Verifiable Credentials & Presentations.",
|
|
4
|
-
"version": "3.1.1-next.
|
|
4
|
+
"version": "3.1.1-next.13+60226a1a",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"types": "build/index.d.ts",
|
|
7
7
|
"scripts": {
|
|
@@ -17,9 +17,9 @@
|
|
|
17
17
|
"@transmute/credentials-context": "^0.7.0-unstable.26",
|
|
18
18
|
"@transmute/ed25519-signature-2018": "^0.7.0-unstable.27",
|
|
19
19
|
"@transmute/lds-ecdsa-secp256k1-recovery2020": "^0.0.7",
|
|
20
|
-
"@veramo/core": "^3.1.1-next.
|
|
21
|
-
"@veramo/did-resolver": "^3.1.1-next.
|
|
22
|
-
"@veramo/utils": "^3.1.1-next.
|
|
20
|
+
"@veramo/core": "^3.1.1-next.13+60226a1a",
|
|
21
|
+
"@veramo/did-resolver": "^3.1.1-next.13+60226a1a",
|
|
22
|
+
"@veramo/utils": "^3.1.1-next.13+60226a1a",
|
|
23
23
|
"debug": "^4.1.1",
|
|
24
24
|
"did-resolver": "3.1.3",
|
|
25
25
|
"jsonld": "^5.2.0",
|
|
@@ -47,5 +47,5 @@
|
|
|
47
47
|
"author": "Mircea Nistor <mircea.nistor@mesh.xyz>",
|
|
48
48
|
"license": "Apache-2.0",
|
|
49
49
|
"keywords": [],
|
|
50
|
-
"gitHead": "
|
|
50
|
+
"gitHead": "60226a1a64d7f06e3869ff0087f4773376b4160e"
|
|
51
51
|
}
|
package/plugin.schema.json
CHANGED
|
@@ -326,6 +326,11 @@
|
|
|
326
326
|
"credential": {
|
|
327
327
|
"$ref": "#/components/schemas/VerifiableCredential",
|
|
328
328
|
"description": "The json payload of the Credential according to the\n {@link https://www.w3.org/TR/vc-data-model/#credentials | canonical model } \n\nThe signer of the Credential is chosen based on the `issuer.id` property of the `credential`"
|
|
329
|
+
},
|
|
330
|
+
"fetchRemoteContexts": {
|
|
331
|
+
"type": "boolean",
|
|
332
|
+
"description": "Set this to true if you want the '@context' URLs to be fetched in case they are not pre-loaded.",
|
|
333
|
+
"default": false
|
|
329
334
|
}
|
|
330
335
|
},
|
|
331
336
|
"required": [
|
|
@@ -347,6 +352,11 @@
|
|
|
347
352
|
"domain": {
|
|
348
353
|
"type": "string",
|
|
349
354
|
"description": "Optional (only for JWT) string domain parameter to verify the verifiable presentation against"
|
|
355
|
+
},
|
|
356
|
+
"fetchRemoteContexts": {
|
|
357
|
+
"type": "boolean",
|
|
358
|
+
"description": "Set this to true if you want the '@context' URLs to be fetched in case they are not pre-loaded.",
|
|
359
|
+
"default": false
|
|
350
360
|
}
|
|
351
361
|
},
|
|
352
362
|
"required": [
|
package/src/action-handler.ts
CHANGED
|
@@ -183,7 +183,7 @@ export class CredentialIssuerLD implements IAgentPlugin {
|
|
|
183
183
|
context: IRequiredContext,
|
|
184
184
|
): Promise<boolean> {
|
|
185
185
|
const credential = args.credential
|
|
186
|
-
return this.ldCredentialModule.verifyCredential(credential, context)
|
|
186
|
+
return this.ldCredentialModule.verifyCredential(credential, args.fetchRemoteContexts || false, context)
|
|
187
187
|
}
|
|
188
188
|
|
|
189
189
|
/** {@inheritdoc ICredentialIssuerLD.verifyPresentationLD} */
|
|
@@ -192,7 +192,7 @@ export class CredentialIssuerLD implements IAgentPlugin {
|
|
|
192
192
|
context: IRequiredContext,
|
|
193
193
|
): Promise<boolean> {
|
|
194
194
|
const presentation = args.presentation
|
|
195
|
-
return this.ldCredentialModule.verifyPresentation(presentation, args.challenge, args.domain, context)
|
|
195
|
+
return this.ldCredentialModule.verifyPresentation(presentation, args.challenge, args.domain, args.fetchRemoteContexts || false, context)
|
|
196
196
|
}
|
|
197
197
|
|
|
198
198
|
private async findSigningKeyWithId(
|
|
@@ -7,6 +7,7 @@ import {
|
|
|
7
7
|
VerifiableCredential,
|
|
8
8
|
VerifiablePresentation,
|
|
9
9
|
} from '@veramo/core'
|
|
10
|
+
import fetch from 'cross-fetch'
|
|
10
11
|
import Debug from 'debug'
|
|
11
12
|
import { extendContextLoader, purposes } from 'jsonld-signatures'
|
|
12
13
|
import * as vc from 'vc-js'
|
|
@@ -34,7 +35,7 @@ export class LdCredentialModule {
|
|
|
34
35
|
this.ldSuiteLoader = options.ldSuiteLoader
|
|
35
36
|
}
|
|
36
37
|
|
|
37
|
-
getDocumentLoader(context: IAgentContext<IResolver
|
|
38
|
+
getDocumentLoader(context: IAgentContext<IResolver>, attemptToFetchContexts: boolean = false) {
|
|
38
39
|
return extendContextLoader(async (url: string) => {
|
|
39
40
|
// console.log(`resolving context for: ${url}`)
|
|
40
41
|
|
|
@@ -65,10 +66,27 @@ export class LdCredentialModule {
|
|
|
65
66
|
documentUrl: url,
|
|
66
67
|
document: contextDoc,
|
|
67
68
|
}
|
|
69
|
+
} else {
|
|
70
|
+
if (attemptToFetchContexts) {
|
|
71
|
+
// attempt to fetch the remote context!!!! MEGA FAIL for JSON-LD.
|
|
72
|
+
debug("WARNING: attempting to fetch the doc directly for ", url)
|
|
73
|
+
try {
|
|
74
|
+
const response = await fetch(url)
|
|
75
|
+
if (response.status === 200) {
|
|
76
|
+
const document = await response.json()
|
|
77
|
+
return {
|
|
78
|
+
contextUrl: null,
|
|
79
|
+
documentUrl: url,
|
|
80
|
+
document
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
} catch (e) {
|
|
84
|
+
debug("WARNING: unable to fetch the doc or interpret it as JSON", e)
|
|
85
|
+
}
|
|
86
|
+
}
|
|
68
87
|
}
|
|
69
88
|
|
|
70
|
-
debug(
|
|
71
|
-
console.log(`WARNING: Possible unknown context/identifier for: ${url}`)
|
|
89
|
+
debug(`WARNING: Possible unknown context/identifier for ${url} \n falling back to default documentLoader`)
|
|
72
90
|
|
|
73
91
|
return vc.defaultDocumentLoader(url)
|
|
74
92
|
})
|
|
@@ -122,12 +140,13 @@ export class LdCredentialModule {
|
|
|
122
140
|
|
|
123
141
|
async verifyCredential(
|
|
124
142
|
credential: VerifiableCredential,
|
|
143
|
+
fetchRemoteContexts: boolean = false,
|
|
125
144
|
context: IAgentContext<IResolver>,
|
|
126
145
|
): Promise<boolean> {
|
|
127
146
|
const result = await vc.verifyCredential({
|
|
128
147
|
credential,
|
|
129
148
|
suite: this.ldSuiteLoader.getAllSignatureSuites().map((x) => x.getSuiteForVerification()),
|
|
130
|
-
documentLoader: this.getDocumentLoader(context),
|
|
149
|
+
documentLoader: this.getDocumentLoader(context, fetchRemoteContexts),
|
|
131
150
|
purpose: new AssertionProofPurpose(),
|
|
132
151
|
compactProof: false,
|
|
133
152
|
})
|
|
@@ -146,12 +165,13 @@ export class LdCredentialModule {
|
|
|
146
165
|
presentation: VerifiablePresentation,
|
|
147
166
|
challenge: string | undefined,
|
|
148
167
|
domain: string | undefined,
|
|
168
|
+
fetchRemoteContexts: boolean = false,
|
|
149
169
|
context: IAgentContext<IResolver>,
|
|
150
170
|
): Promise<boolean> {
|
|
151
171
|
const result = await vc.verify({
|
|
152
172
|
presentation,
|
|
153
173
|
suite: this.ldSuiteLoader.getAllSignatureSuites().map((x) => x.getSuiteForVerification()),
|
|
154
|
-
documentLoader: this.getDocumentLoader(context),
|
|
174
|
+
documentLoader: this.getDocumentLoader(context, fetchRemoteContexts),
|
|
155
175
|
challenge,
|
|
156
176
|
domain,
|
|
157
177
|
purpose: new AssertionProofPurpose(),
|
package/src/types.ts
CHANGED
|
@@ -160,7 +160,14 @@ export interface IVerifyCredentialLDArgs {
|
|
|
160
160
|
* of the `credential`
|
|
161
161
|
*
|
|
162
162
|
*/
|
|
163
|
-
credential: VerifiableCredential
|
|
163
|
+
credential: VerifiableCredential,
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* Set this to true if you want the '@context' URLs to be fetched in case they are not pre-loaded.
|
|
167
|
+
*
|
|
168
|
+
* @default false
|
|
169
|
+
*/
|
|
170
|
+
fetchRemoteContexts?: boolean
|
|
164
171
|
}
|
|
165
172
|
|
|
166
173
|
/**
|
|
@@ -189,6 +196,13 @@ export interface IVerifyPresentationLDArgs {
|
|
|
189
196
|
* Optional (only for JWT) string domain parameter to verify the verifiable presentation against
|
|
190
197
|
*/
|
|
191
198
|
domain?: string
|
|
199
|
+
|
|
200
|
+
/**
|
|
201
|
+
* Set this to true if you want the '@context' URLs to be fetched in case they are not pre-loaded.
|
|
202
|
+
*
|
|
203
|
+
* @default false
|
|
204
|
+
*/
|
|
205
|
+
fetchRemoteContexts?: boolean
|
|
192
206
|
}
|
|
193
207
|
|
|
194
208
|
/**
|