@bedrock/vc-verifier 22.2.0 → 22.3.0

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.
Files changed (2) hide show
  1. package/lib/http.js +21 -20
  2. package/package.json +3 -3
package/lib/http.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Copyright (c) 2018-2024 Digital Bazaar, Inc. All rights reserved.
2
+ * Copyright (c) 2018-2025 Digital Bazaar, Inc. All rights reserved.
3
3
  */
4
4
  import * as bedrock from '@bedrock/core';
5
5
  import {createChallenge, verifyChallenge} from './challenges.js';
@@ -218,25 +218,26 @@ function _createResponse({credential, result, challengeUses, error, checks}) {
218
218
  error = result.error = _serializeError({error: result.error});
219
219
  } else {
220
220
  // try to get error from credential results
221
- const firstCredentialResult = (result.presentationResult &&
222
- result.credentialResults && result.credentialResults[0]) ||
223
- result;
224
- if(!firstCredentialResult.error &&
225
- firstCredentialResult.statusResult &&
226
- !firstCredentialResult.statusResult.verified) {
227
- if(firstCredentialResult.statusResult.error) {
228
- error = {
229
- message: 'The credential status could not be checked.',
230
- cause: firstCredentialResult.statusResult.error.message
231
- };
232
- } else {
233
- // FIXME: surface status type information so it can be included here
234
- error = {
235
- message: 'The credential failed a status check.'
236
- };
221
+ const credentialResults = result.credentialResults ?? [result];
222
+ for(const cr of credentialResults) {
223
+ if(cr.error) {
224
+ error = cr.error;
225
+ break;
226
+ }
227
+ if(cr.statusResult?.verified === false) {
228
+ if(cr.statusResult.error) {
229
+ error = {
230
+ message: 'A credential status could not be checked.',
231
+ cause: cr.statusResult.error.message
232
+ };
233
+ } else {
234
+ // FIXME: include status type information here
235
+ error = {
236
+ message: 'A credential failed a status check.'
237
+ };
238
+ }
239
+ break;
237
240
  }
238
- } else {
239
- error = firstCredentialResult.error;
240
241
  }
241
242
  error = error || {message: 'Verification error.'};
242
243
  // ensure error is serializable
@@ -244,7 +245,7 @@ function _createResponse({credential, result, challengeUses, error, checks}) {
244
245
  }
245
246
 
246
247
  let message = error.message;
247
- if(error.errors && error.errors.length > 0) {
248
+ if(error.errors?.length > 0) {
248
249
  message = error.errors[0].message;
249
250
  }
250
251
  response = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bedrock/vc-verifier",
3
- "version": "22.2.0",
3
+ "version": "22.3.0",
4
4
  "type": "module",
5
5
  "description": "Bedrock VC Verifier",
6
6
  "main": "./lib/index.js",
@@ -26,7 +26,7 @@
26
26
  "homepage": "https://github.com/digitalbazaar/bedrock-vc-verifier",
27
27
  "dependencies": {
28
28
  "@digitalbazaar/bbs-2023-cryptosuite": "^2.0.1",
29
- "@digitalbazaar/cborld": "^7.2.0",
29
+ "@digitalbazaar/cborld": "^8.0.0",
30
30
  "@digitalbazaar/data-integrity": "^2.5.0",
31
31
  "@digitalbazaar/ecdsa-2019-cryptosuite": "^2.0.0",
32
32
  "@digitalbazaar/ecdsa-jcs-2019-cryptosuite": "^1.0.0",
@@ -45,7 +45,7 @@
45
45
  "@digitalbazaar/vc-bitstring-status-list": "^2.0.1",
46
46
  "@digitalbazaar/vc-revocation-list": "^7.0.0",
47
47
  "@digitalbazaar/vc-status-list": "^8.0.1",
48
- "@digitalbazaar/vpqr": "^5.1.0",
48
+ "@digitalbazaar/vpqr": "^6.0.0",
49
49
  "assert-plus": "^1.0.0",
50
50
  "bnid": "^3.0.0",
51
51
  "body-parser": "^1.20.3",