Socket
Socket
Sign inDemoInstall

@unumid/server-sdk

Package Overview
Dependencies
Maintainers
1
Versions
88
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@unumid/server-sdk - npm Package Compare versions

Comparing version 3.0.1 to 3.0.2

2

build/types.d.ts

@@ -157,3 +157,3 @@ import { CredentialStatusOptions, Issuer, CredentialSubject, Verifier, CredentialRequest, Presentation, KeyPair, PublicKeyInfo, JSONObj, PresentationPb, CredentialRequestPb } from '@unumid/types';

type: 'VerifiablePresentation' | 'DeclinedPresentation'
presentation: Presentation | PresentationPb
presentation: PresentationPb
}

@@ -160,0 +160,0 @@

import { CredentialInfo } from '../types';
import { Presentation } from '@unumid/types';
import { Presentation, PresentationPb } from '@unumid/types';
/**

@@ -7,3 +7,3 @@ * Handler to extract credential reporting information meant to be relied to UnumID's SaaS for the enhanced analytics dashboard.

*/
export declare const extractCredentialInfo: (presentation: Presentation) => CredentialInfo;
export declare const extractCredentialInfo: (presentation: Presentation | PresentationPb) => CredentialInfo;
//# sourceMappingURL=extractCredentialInfo.d.ts.map

@@ -59,3 +59,3 @@ "use strict";

exports.validateNoPresentationParams = function (noPresentation) {
var type = noPresentation.type, proof = noPresentation.proof, presentationRequestUuid = noPresentation.presentationRequestUuid, verifiableCredential = noPresentation.verifiableCredential, verifierDid = noPresentation.verifierDid;
var type = noPresentation.type, proof = noPresentation.proof, presentationRequestId = noPresentation.presentationRequestId, verifiableCredential = noPresentation.verifiableCredential, verifierDid = noPresentation.verifierDid;
if (!type) {

@@ -73,7 +73,7 @@ throw new error_1.CustError(400, 'Invalid Presentation: type is required.');

}
if (!presentationRequestUuid) {
throw new error_1.CustError(400, 'Invalid Presentation: presentationRequestUuid is required.');
if (!presentationRequestId) {
throw new error_1.CustError(400, 'Invalid Presentation: presentationRequestId is required.');
}
if (typeof presentationRequestUuid !== 'string') {
throw new error_1.CustError(400, 'Invalid presentationRequestUuid: must be a string.');
if (typeof presentationRequestId !== 'string') {
throw new error_1.CustError(400, 'Invalid presentationRequestId: must be a string.');
}

@@ -80,0 +80,0 @@ if (verifiableCredential && helpers_1.isArrayNotEmpty(verifiableCredential)) {

@@ -55,4 +55,2 @@ "use strict";

var types_1 = require("@unumid/types");
// import { Presentation, EncryptedData, PresentationPb, PresentationRequestPb, ProofPb, UnsignedPresentationRequestPb, JSONObj, CredentialRequestPb } from '@unumid/types';
// import { PresentationRequestDto, PresentationRequest, CredentialRequest } from '@unumid/types-v2';
var requireAuth_1 = require("../requireAuth");

@@ -81,3 +79,3 @@ var library_crypto_1 = require("@unumid/library-crypto");

// const context = (presentation as Presentation)['@context'] ? (presentation as Presentation)['@context'] : (presentation as PresentationPb).context;
var type = presentation.type, proof = presentation.proof, presentationRequestUuid = presentation.presentationRequestUuid, verifierDid = presentation.verifierDid, context = presentation.context;
var type = presentation.type, proof = presentation.proof, presentationRequestId = presentation.presentationRequestId, verifierDid = presentation.verifierDid, context = presentation.context;
// validate required fields

@@ -93,4 +91,4 @@ if (!context) {

}
if (!presentationRequestUuid) {
throw new error_1.CustError(400, 'Invalid Presentation: presentationRequestUuid is required.');
if (!presentationRequestId) {
throw new error_1.CustError(400, 'Invalid Presentation: presentationRequestId is required.');
}

@@ -244,4 +242,4 @@ if (!verifierDid) {

// verify the presentation request uuid match
if (presentationRequest && presentationRequest.presentationRequest.uuid !== presentation.presentationRequestUuid) {
throw new error_1.CustError(400, "presentation request uuid provided, " + presentationRequest.presentationRequest.uuid + ", does not match the presentationRequestUuid that the presentation was in response to, " + presentation.presentationRequestUuid + ".");
if (presentationRequest && presentationRequest.presentationRequest.id !== presentation.presentationRequestId) {
throw new error_1.CustError(400, "presentation request id provided, " + presentationRequest.presentationRequest.id + ", does not match the presentationRequestId that the presentation was in response to, " + presentation.presentationRequestId + ".");
}

@@ -248,0 +246,0 @@ if (!(presentationRequest && presentationRequest.presentationRequest)) return [3 /*break*/, 2];

@@ -169,3 +169,3 @@ "use strict";

var validatePresentation = function (presentation) {
var type = presentation.type, verifiableCredential = presentation.verifiableCredential, proof = presentation.proof, presentationRequestUuid = presentation.presentationRequestUuid, verifierDid = presentation.verifierDid, context = presentation.context;
var type = presentation.type, verifiableCredential = presentation.verifiableCredential, proof = presentation.proof, presentationRequestId = presentation.presentationRequestId, verifierDid = presentation.verifierDid, context = presentation.context;
var retObj = {};

@@ -182,4 +182,4 @@ // validate required fields

}
if (!presentationRequestUuid) {
throw new error_1.CustError(400, 'Invalid Presentation: presentationRequestUuid is required.');
if (!presentationRequestId) {
throw new error_1.CustError(400, 'Invalid Presentation: presentationRequestId is required.');
}

@@ -186,0 +186,0 @@ if (!verifiableCredential || helpers_1.isArrayEmpty(verifiableCredential)) {

{
"name": "@unumid/server-sdk",
"version": "3.0.1",
"version": "3.0.2",
"main": "build/index.js",

@@ -47,5 +47,5 @@ "repository": "git@github.com:UnumID/Server-SDK-TypeScript.git",

"@unumid/library-crypto": "https://github.com/UnumID/Library-Crypto-TypeScript.git#1.5.0",
"@unumid/types": "^3.0.2",
"@unumid/types": "https://github.com/UnumID/types.git#3.0.3",
"@unumid/types-v1": "https://github.com/UnumID/types.git#1.5.1",
"@unumid/types-v2": "https://github.com/UnumID/types.git#2.1.2",
"@unumid/types-v2": "npm:@unumid/types@2.1.3",
"dotenv": "^8.2.0",

@@ -52,0 +52,0 @@ "express": "^4.17.1",

@@ -157,3 +157,3 @@ import { CredentialStatusOptions, Issuer, CredentialSubject, Verifier, CredentialRequest, Presentation, KeyPair, PublicKeyInfo, JSONObj, PresentationPb, CredentialRequestPb } from '@unumid/types';

type: 'VerifiablePresentation' | 'DeclinedPresentation'
presentation: Presentation | PresentationPb
presentation: PresentationPb
}

@@ -160,0 +160,0 @@

import { CredentialInfo } from '../types';
import { Presentation } from '@unumid/types';
import { Presentation, PresentationPb, Credential } from '@unumid/types';
import { isArrayNotEmpty } from './helpers';
import { Proof } from '@unumid/types/build/protos/proof';

@@ -10,3 +11,3 @@ /**

*/
export const extractCredentialInfo = (presentation: Presentation): CredentialInfo => {
export const extractCredentialInfo = (presentation: Presentation | PresentationPb): CredentialInfo => {
let credentialTypes: string[] = [];

@@ -16,7 +17,7 @@

// cut off the preceding 'VerifiableCredential' string in each credential type array
credentialTypes = presentation.verifiableCredential.flatMap(cred => isArrayNotEmpty(cred.type) && cred.type[0] === 'VerifiableCredential' ? cred.type.slice(1) : cred.type);
credentialTypes = (presentation.verifiableCredential as Credential[]).flatMap(cred => isArrayNotEmpty(cred.type) && cred.type[0] === 'VerifiableCredential' ? cred.type.slice(1) : cred.type);
}
// need to handle the possibility of a did fragment being part of the verification method.
const subjectDid = presentation.proof.verificationMethod.split('#')[0];
const subjectDid = (presentation.proof as Proof).verificationMethod.split('#')[0];

@@ -23,0 +24,0 @@ return {

@@ -24,3 +24,3 @@

proof,
presentationRequestUuid,
presentationRequestId,
verifiableCredential,

@@ -46,8 +46,8 @@ verifierDid

if (!presentationRequestUuid) {
throw new CustError(400, 'Invalid Presentation: presentationRequestUuid is required.');
if (!presentationRequestId) {
throw new CustError(400, 'Invalid Presentation: presentationRequestId is required.');
}
if (typeof presentationRequestUuid !== 'string') {
throw new CustError(400, 'Invalid presentationRequestUuid: must be a string.');
if (typeof presentationRequestId !== 'string') {
throw new CustError(400, 'Invalid presentationRequestId: must be a string.');
}

@@ -54,0 +54,0 @@

import { DecryptedPresentation, UnumDto, VerifiedStatus } from '../types';
import { Presentation, CredentialRequest, PresentationRequestDto, EncryptedData, PresentationRequest, PresentationPb, PresentationRequestPb, ProofPb, UnsignedPresentationRequestPb, JSONObj, CredentialRequestPb } from '@unumid/types';
// import { Presentation, EncryptedData, PresentationPb, PresentationRequestPb, ProofPb, UnsignedPresentationRequestPb, JSONObj, CredentialRequestPb } from '@unumid/types';
// import { PresentationRequestDto, PresentationRequest, CredentialRequest } from '@unumid/types-v2';
import { requireAuth } from '../requireAuth';

@@ -31,3 +29,3 @@ import { CryptoError, decrypt, decryptBytes } from '@unumid/library-crypto';

// const context = (presentation as Presentation)['@context'] ? (presentation as Presentation)['@context'] : (presentation as PresentationPb).context;
const { type, proof, presentationRequestUuid, verifierDid, context } = presentation;
const { type, proof, presentationRequestId, verifierDid, context } = presentation;

@@ -47,4 +45,4 @@ // validate required fields

if (!presentationRequestUuid) {
throw new CustError(400, 'Invalid Presentation: presentationRequestUuid is required.');
if (!presentationRequestId) {
throw new CustError(400, 'Invalid Presentation: presentationRequestId is required.');
}

@@ -228,4 +226,4 @@

// verify the presentation request uuid match
if (presentationRequest && presentationRequest.presentationRequest.uuid !== presentation.presentationRequestUuid) {
throw new CustError(400, `presentation request uuid provided, ${presentationRequest.presentationRequest.uuid}, does not match the presentationRequestUuid that the presentation was in response to, ${presentation.presentationRequestUuid}.`);
if (presentationRequest && presentationRequest.presentationRequest.id !== presentation.presentationRequestId) {
throw new CustError(400, `presentation request id provided, ${presentationRequest.presentationRequest.id}, does not match the presentationRequestId that the presentation was in response to, ${presentation.presentationRequestId}.`);
}

@@ -232,0 +230,0 @@

@@ -151,3 +151,3 @@ import { omit } from 'lodash';

const validatePresentation = (presentation: PresentationPb): PresentationPb => {
const { type, verifiableCredential, proof, presentationRequestUuid, verifierDid, context } = presentation;
const { type, verifiableCredential, proof, presentationRequestId, verifierDid, context } = presentation;
let retObj: JSONObj = {};

@@ -168,4 +168,4 @@

if (!presentationRequestUuid) {
throw new CustError(400, 'Invalid Presentation: presentationRequestUuid is required.');
if (!presentationRequestId) {
throw new CustError(400, 'Invalid Presentation: presentationRequestId is required.');
}

@@ -172,0 +172,0 @@

@@ -377,3 +377,3 @@ import {

type?: string[]
presentationRequestUuid?: string
presentationRequestId?: string
verifiableCredential?: CredentialPb[]

@@ -390,3 +390,3 @@

typeLiteral?: boolean;
presentationRequestUuidLiteral?: boolean;
presentationRequestIdLiteral?: boolean;
verifiableCredentialLiteral?: boolean;

@@ -400,3 +400,3 @@ }

const type = options.type || ['VerifiablePresentation'];
const presentationRequestUuid = options.presentationRequestUuid || getUUID();
const presentationRequestId = options.presentationRequestId || getUUID();

@@ -415,3 +415,3 @@ const unsignedCredential: UnsignedCredentialPb = makeDummyUnsignedCredential();

type,
presentationRequestUuid,
presentationRequestId,
verifierDid,

@@ -432,3 +432,3 @@ verifiableCredential

const type = options.typeLiteral ? options.type : options.type || ['VerifiablePresentation'];
const presentationRequestUuid = options.presentationRequestUuidLiteral ? options.presentationRequestUuid : options.presentationRequestUuid || getUUID();
const presentationRequestId = options.presentationRequestIdLiteral ? options.presentationRequestId : options.presentationRequestId || getUUID();

@@ -447,3 +447,3 @@ const unsignedCredential: UnsignedCredentialPb = makeDummyUnsignedCredential();

type,
presentationRequestUuid,
presentationRequestId,
verifierDid,

@@ -450,0 +450,0 @@ verifiableCredential

@@ -50,3 +50,3 @@ import { omit } from 'lodash';

let dummyNoPresentationWithoutType;
let dummyNoPresentationWithoutRequestUuid;
let dummyNoPresentationWithoutRequestId;
let dummyNoPresentationWithoutHolder;

@@ -57,3 +57,3 @@ let dummyNoPresentationWithoutProof;

let dummyNoPresentationBadTypeKeywordMissing;
let dummyNoPresentationBadRequestUuid;
let dummyNoPresentationBadRequestId;
let dummyNoPresentationBadHolder;

@@ -68,3 +68,3 @@ let dummyNoPresentationBadProof;

dummyNoPresentationWithoutType = omit(dummyNoPresentation, 'type') as PresentationPb;
dummyNoPresentationWithoutRequestUuid = omit(dummyNoPresentation, 'presentationRequestUuid') as PresentationPb;
dummyNoPresentationWithoutRequestId = omit(dummyNoPresentation, 'presentationRequestId') as PresentationPb;
dummyNoPresentationWithoutHolder = omit(dummyNoPresentation, 'holder') as PresentationPb;

@@ -75,3 +75,3 @@ dummyNoPresentationWithoutProof = omit(dummyNoPresentation, 'proof') as PresentationPb;

dummyNoPresentationBadTypeKeywordMissing = { ...dummyNoPresentation, type: ['No No Presenation'] } as PresentationPb;
dummyNoPresentationBadRequestUuid = { ...dummyNoPresentation, presentationRequestUuid: {} } as PresentationPb;
dummyNoPresentationBadRequestId = { ...dummyNoPresentation, presentationRequestId: {} } as PresentationPb;
dummyNoPresentationBadHolder = { ...dummyNoPresentation, holder: {} } as PresentationPb;

@@ -161,7 +161,7 @@ dummyNoPresentationBadProof = { ...dummyNoPresentation, proof: {} } as PresentationPb;

try {
await callVerifyNoPresentation(dummyNoPresentationWithoutRequestUuid, verifier, authHeader);
await callVerifyNoPresentation(dummyNoPresentationWithoutRequestId, verifier, authHeader);
fail();
} catch (e) {
expect(e.code).toEqual(400);
expect(e.message).toEqual('Invalid Presentation: presentationRequestUuid is required.');
expect(e.message).toEqual('Invalid Presentation: presentationRequestId is required.');
}

@@ -179,8 +179,8 @@ });

it('returns a 400 status code with a descriptive error message if presentationRequestUuid is invalid', async () => {
it('returns a 400 status code with a descriptive error message if presentationRequestId is invalid', async () => {
try {
await callVerifyNoPresentation(dummyNoPresentationBadRequestUuid, verifier, authHeader);
await callVerifyNoPresentation(dummyNoPresentationBadRequestId, verifier, authHeader);
} catch (e) {
expect(e.code).toEqual(400);
expect(e.message).toEqual('Invalid presentationRequestUuid: must be a string.');
expect(e.message).toEqual('Invalid presentationRequestId: must be a string.');
}

@@ -187,0 +187,0 @@ });

@@ -50,3 +50,3 @@ import { Presentation, VerifiedStatus, UnumDto, CustError } from '../../src/index';

const callVerifyEncryptedPresentation = async (context, type, verifiableCredential, presentationRequestUuid, proof, verifier, auth = '', presentationRequest?, contextLiteral?): Promise<UnumDto<DecryptedPresentation>> => {
const callVerifyEncryptedPresentation = async (context, type, verifiableCredential, presentationRequestId, proof, verifier, auth = '', presentationRequest?, contextLiteral?): Promise<UnumDto<DecryptedPresentation>> => {
const presentation: PresentationPb = await makeDummyPresentation({

@@ -57,3 +57,3 @@ context,

verifiableCredential,
presentationRequestUuid,
presentationRequestId,
verifierDid: verifier

@@ -68,3 +68,3 @@ });

const callVerifyEncryptedPresentationManual = (context, type, verifiableCredential, presentationRequestUuid, proof, verifier, auth = '', presentationRequest?): Promise<UnumDto<DecryptedPresentation>> => {
const callVerifyEncryptedPresentationManual = (context, type, verifiableCredential, presentationRequestId, proof, verifier, auth = '', presentationRequest?): Promise<UnumDto<DecryptedPresentation>> => {
const presentation: PresentationPb = {

@@ -74,3 +74,3 @@ context,

verifiableCredential,
presentationRequestUuid,
presentationRequestId,
verifierDid: verifier,

@@ -116,6 +116,7 @@ proof

const presentationRequestUuid = '0cebee3b-3295-4ef6-a4d6-7dfea413b3aa';
const presentationRequestUuid = '0cebee3b-3295-4ef6-a4d6-7dfea413b3ab';
const presentationRequestId = '0cebee3b-3295-4ef6-a4d6-7dfea413b3aa';
const verifier = 'did:unum:f2054199-1069-4337-a588-83d099e79d44';
const presentationRequest = await makeDummyUnsignedPresentationRequest({ uuid: presentationRequestUuid, verifier });
const presentationRequest = await makeDummyUnsignedPresentationRequest({ uuid: presentationRequestUuid, id: presentationRequestId, verifier });

@@ -125,4 +126,4 @@ const presentationRequestDto = await makeDummyPresentationRequestResponse({ unsignedPresentationRequest: presentationRequest });

const unsignedPresentation = await makeDummyUnsignedPresentation({ verifierDid: verifier, context, type, verifiableCredential: verifiableCredentials, presentationRequestUuid });
const presentation = await makeDummyPresentation({ verifierDid: verifier, context, type, verifiableCredential: verifiableCredentials, presentationRequestUuid });
const unsignedPresentation = await makeDummyUnsignedPresentation({ verifierDid: verifier, context, type, verifiableCredential: verifiableCredentials, presentationRequestId });
const presentation = await makeDummyPresentation({ verifierDid: verifier, context, type, verifiableCredential: verifiableCredentials, presentationRequestId });

@@ -136,2 +137,3 @@ const authHeader = 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0eXBlIjoidmVyaWZpZXIiLCJ1dWlkIjoiM2VjYzVlZDMtZjdhMC00OTU4LWJjOTgtYjc5NTQxMThmODUyIiwiZGlkIjoiZGlkOnVudW06ZWVhYmU0NGItNjcxMi00NTRkLWIzMWItNTM0NTg4NTlmMTFmIiwiZXhwIjoxNTk1NDcxNTc0LjQyMiwiaWF0IjoxNTk1NTI5NTExfQ.4iJn_a8fHnVsmegdR5uIsdCjXmyZ505x1nA8NVvTEBg';

presentationRequestUuid,
presentationRequestId,
presentationRequest,

@@ -151,3 +153,3 @@ presentationRequestDto,

let context, type, verifiableCredentials, presentationRequestUuid, proof, authHeader, verifier, presentationRequestDto, presentationRequest, unsignedPresentationRequest, presentation, unsignedPresentation;
let context, type, verifiableCredentials, presentationRequestId, proof, authHeader, verifier, presentationRequestDto, presentationRequest, unsignedPresentationRequest, presentation, unsignedPresentation;

@@ -159,3 +161,3 @@ beforeAll(async () => {

verifiableCredentials = dummyData.verifiableCredentials;
presentationRequestUuid = dummyData.presentationRequestUuid;
presentationRequestId = dummyData.presentationRequestId;
proof = dummyData.proof;

@@ -186,3 +188,3 @@ authHeader = dummyData.authHeader;

mockMakeNetworkRequest.mockResolvedValue({ body: { success: true }, headers: dummyResponseHeaders });
response = await callVerifyEncryptedPresentation(context, type, verifiableCredentials, presentationRequestUuid, proof, verifier, authHeader);
response = await callVerifyEncryptedPresentation(context, type, verifiableCredentials, presentationRequestId, proof, verifier, authHeader);
verStatus = response.body.isVerified;

@@ -233,3 +235,3 @@ });

mockVerifyCredential.mockResolvedValue({ authToken: undefined, body: true });
response = await callVerifyEncryptedPresentation(context, type, verifiableCredentials, presentationRequestUuid, proof, verifier, authHeader);
response = await callVerifyEncryptedPresentation(context, type, verifiableCredentials, presentationRequestId, proof, verifier, authHeader);
expect(response.authToken).toBeUndefined();

@@ -250,3 +252,3 @@ });

verifiableCredentials[0].proof.verificationMethod = proof.verificationMethod;
response = await callVerifyEncryptedPresentation(context, type, verifiableCredentials, presentationRequestUuid, proof, verifier, authHeader);
response = await callVerifyEncryptedPresentation(context, type, verifiableCredentials, presentationRequestId, proof, verifier, authHeader);
verStatus = response.body.isVerified;

@@ -279,3 +281,3 @@ });

mockGetDIDDoc.mockResolvedValueOnce({ body: dummyDidDocWithoutKeys, headers: dummyResponseHeaders });
const response = await callVerifyEncryptedPresentation(context, type, verifiableCredentials, presentationRequestUuid, proof, verifier, authHeader);
const response = await callVerifyEncryptedPresentation(context, type, verifiableCredentials, presentationRequestId, proof, verifier, authHeader);
expect(response.body.isVerified).toBe(false);

@@ -289,3 +291,3 @@ expect(response.body.message).toBe('Public key not found for the DID associated with the proof.verificationMethod');

try {
await callVerifyEncryptedPresentation(context, type, verifiableCredentials, presentationRequestUuid, proof, verifier, authHeader);
await callVerifyEncryptedPresentation(context, type, verifiableCredentials, presentationRequestId, proof, verifier, authHeader);
fail();

@@ -299,3 +301,3 @@ } catch (e) {

describe('verifyEncryptedPresentation - Validation Failures', () => {
// const { context, type, verifiableCredentials, presentationRequestUuid, proof, authHeader, verifier, presentationRequest } = populateMockData();
// const { context, type, verifiableCredentials, presentationRequestId, proof, authHeader, verifier, presentationRequest } = populateMockData();

@@ -343,3 +345,3 @@ it('returns a 400 status code with a descriptive error message when encryptedPresentation is missing', async () => {

it('returns a 400 status code with a descriptive error message when if presentationRequest uuid provided does not match is the presentation presentationRequestUuid.', async () => {
it('returns a 400 status code with a descriptive error message when if presentationRequest uuid provided does not match is the presentation presentationRequestId.', async () => {
try {

@@ -350,3 +352,3 @@ await callVerifyEncryptedPresentation(context, type, verifiableCredentials, 'uuid:123', proof, verifier, authHeader, presentationRequestDto);

expect(e.code).toBe(400);
expect(e.message).toBe(`presentation request uuid provided, ${presentationRequestDto.presentationRequest.uuid}, does not match the presentationRequestUuid that the presentation was in response to, uuid:123.`);
expect(e.message).toBe(`presentation request id provided, ${presentationRequestDto.presentationRequest.id}, does not match the presentationRequestId that the presentation was in response to, uuid:123.`);
}

@@ -369,3 +371,3 @@ });

presentationRequest: {
// uuid: presentationRequestUuid,
// uuid: presentationRequestId,
...presentationRequest,

@@ -405,3 +407,3 @@ proof: {

await callVerifyEncryptedPresentationManual(context, type, verifiableCredentials, presentationRequestUuid, invalidProof, verifier, authHeader);
await callVerifyEncryptedPresentationManual(context, type, verifiableCredentials, presentationRequestId, invalidProof, verifier, authHeader);
fail();

@@ -417,3 +419,3 @@ } catch (e) {

try {
await callVerifyEncryptedPresentationManual(context, type, verifiableCredentials, presentationRequestUuid, invalidProof, verifier, authHeader);
await callVerifyEncryptedPresentationManual(context, type, verifiableCredentials, presentationRequestId, invalidProof, verifier, authHeader);
fail();

@@ -429,3 +431,3 @@ } catch (e) {

try {
await callVerifyEncryptedPresentationManual(context, type, verifiableCredentials, presentationRequestUuid, invalidProof, verifier, authHeader);
await callVerifyEncryptedPresentationManual(context, type, verifiableCredentials, presentationRequestId, invalidProof, verifier, authHeader);
fail();

@@ -441,3 +443,3 @@ } catch (e) {

try {
await callVerifyEncryptedPresentationManual(context, type, verifiableCredentials, presentationRequestUuid, invalidProof, verifier, authHeader);
await callVerifyEncryptedPresentationManual(context, type, verifiableCredentials, presentationRequestId, invalidProof, verifier, authHeader);
fail();

@@ -453,3 +455,3 @@ } catch (e) {

try {
await callVerifyEncryptedPresentationManual(context, type, verifiableCredentials, presentationRequestUuid, invalidProof, verifier, authHeader);
await callVerifyEncryptedPresentationManual(context, type, verifiableCredentials, presentationRequestId, invalidProof, verifier, authHeader);
fail();

@@ -456,0 +458,0 @@ } catch (e) {

@@ -47,3 +47,3 @@ import { verifyNoPresentationHelper } from '../../src/verifier/verifyNoPresentationHelper';

const callVerifyPresentation = async (context, type, verifiableCredential, presentationRequestUuid, proof, verifier, auth = '', credentialRequests): Promise<UnumDto<VerifiedStatus>> => {
const callVerifyPresentation = async (context, type, verifiableCredential, presentationRequestId, proof, verifier, auth = '', credentialRequests): Promise<UnumDto<VerifiedStatus>> => {
const presentation: PresentationPb = await makeDummyPresentation({

@@ -53,3 +53,3 @@ context,

verifiableCredential,
presentationRequestUuid,
presentationRequestId,
verifierDid: verifier

@@ -61,3 +61,3 @@ });

const callVerifyPresentationManual = (context, type, verifiableCredential, presentationRequestUuid, proof, verifier, auth = '', credentialRequests): Promise<UnumDto<VerifiedStatus>> => {
const callVerifyPresentationManual = (context, type, verifiableCredential, presentationRequestId, proof, verifier, auth = '', credentialRequests): Promise<UnumDto<VerifiedStatus>> => {
const presentation: PresentationPb = {

@@ -67,3 +67,3 @@ context,

verifiableCredential,
presentationRequestUuid,
presentationRequestId,
verifierDid: verifier,

@@ -100,3 +100,4 @@ proof

const presentationRequestUuid = '0cebee3b-3295-4ef6-a4d6-7dfea413b3aa';
const presentationRequestUuid = '0cebee3b-3295-4ef6-a4d6-7dfea413b3ab';
const presentationRequestId = '0cebee3b-3295-4ef6-a4d6-7dfea413b3aa';
const verifier = 'did:unum:f2054199-1069-4337-a588-83d099e79d44';

@@ -106,8 +107,8 @@

const credentialRequests = [credentialRequest];
const presentationRequest = await makeDummyUnsignedPresentationRequest({ uuid: presentationRequestUuid, verifier, credentialRequests });
const presentationRequest = await makeDummyUnsignedPresentationRequest({ uuid: presentationRequestUuid, id: presentationRequestId, verifier, credentialRequests });
const presentationRequestDto = await makeDummyPresentationRequestResponse({ unsignedPresentationRequest: presentationRequest });
const proof = (await presentationRequestDto).presentationRequest.proof;
const unsignedPresentation = await makeDummyUnsignedPresentation({ verifierDid: verifier, context, type, verifiableCredential: verifiableCredential, presentationRequestUuid });
const presentation = await makeDummyPresentation({ verifierDid: verifier, context, type, verifiableCredential: verifiableCredential, presentationRequestUuid });
const unsignedPresentation = await makeDummyUnsignedPresentation({ verifierDid: verifier, context, type, verifiableCredential: verifiableCredential, presentationRequestId });
const presentation = await makeDummyPresentation({ verifierDid: verifier, context, type, verifiableCredential: verifiableCredential, presentationRequestId });

@@ -120,3 +121,3 @@ const authHeader = 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0eXBlIjoidmVyaWZpZXIiLCJ1dWlkIjoiM2VjYzVlZDMtZjdhMC00OTU4LWJjOTgtYjc5NTQxMThmODUyIiwiZGlkIjoiZGlkOnVudW06ZWVhYmU0NGItNjcxMi00NTRkLWIzMWItNTM0NTg4NTlmMTFmIiwiZXhwIjoxNTk1NDcxNTc0LjQyMiwiaWF0IjoxNTk1NTI5NTExfQ.4iJn_a8fHnVsmegdR5uIsdCjXmyZ505x1nA8NVvTEBg';

verifiableCredential,
presentationRequestUuid,
presentationRequestId,
credentialRequests,

@@ -134,3 +135,3 @@ presentationRequest,

describe('verifyPresentationHelper', () => {
let context, type, verifiableCredential, presentationRequestUuid, proof, authHeader, verifier, credentialRequests, presentationRequestDto, presentationRequest, unsignedPresentationRequest, presentation, unsignedPresentation;
let context, type, verifiableCredential, presentationRequestId, proof, authHeader, verifier, credentialRequests, presentationRequestDto, presentationRequest, unsignedPresentationRequest, presentation, unsignedPresentation;

@@ -143,3 +144,3 @@ beforeAll(async () => {

verifiableCredential = dummyData.verifiableCredential;
presentationRequestUuid = dummyData.presentationRequestUuid;
presentationRequestId = dummyData.presentationRequestId;
proof = dummyData.proof;

@@ -165,3 +166,3 @@ authHeader = dummyData.authHeader;

// const { context, type, verifiableCredential, verifiableCredentialString, presentationRequestUuid, proof, authHeader, verifier, credentialRequests } = populateMockData();
// const { context, type, verifiableCredential, verifiableCredentialString, presentationRequestId, proof, authHeader, verifier, credentialRequests } = populateMockData();

@@ -178,3 +179,3 @@ beforeAll(async () => {

mockMakeNetworkRequest.mockResolvedValue({ body: { success: true }, headers: dummyResponseHeaders });
response = await callVerifyPresentation(context, type, verifiableCredential, presentationRequestUuid, proof, verifier, authHeader, credentialRequests);
response = await callVerifyPresentation(context, type, verifiableCredential, presentationRequestId, proof, verifier, authHeader, credentialRequests);
verStatus = response.body.isVerified;

@@ -230,3 +231,3 @@ });

mockDoVerify.mockReturnValueOnce(true);
response = await callVerifyPresentation(context, type, verifiableCredential, presentationRequestUuid, proof, verifier, authHeader, credentialRequests);
response = await callVerifyPresentation(context, type, verifiableCredential, presentationRequestId, proof, verifier, authHeader, credentialRequests);
expect(response.authToken).toBeUndefined();

@@ -240,3 +241,3 @@ });

// const { context, type, verifiableCredential, verifiableCredentialString, presentationRequestUuid, proof, authHeader, verifier, credentialRequests } = populateMockData();
// const { context, type, verifiableCredential, verifiableCredentialString, presentationRequestId, proof, authHeader, verifier, credentialRequests } = populateMockData();

@@ -253,3 +254,3 @@ beforeAll(async () => {

mockMakeNetworkRequest.mockResolvedValue({ body: { success: true }, headers: dummyResponseHeaders });
response = await callVerifyPresentation(context, type, verifiableCredential, presentationRequestUuid, proof, verifier, authHeader, credentialRequests);
response = await callVerifyPresentation(context, type, verifiableCredential, presentationRequestId, proof, verifier, authHeader, credentialRequests);
verStatus = response.body.isVerified;

@@ -305,3 +306,3 @@ });

mockDoVerify.mockReturnValueOnce(true);
response = await callVerifyPresentation(context, type, verifiableCredential, presentationRequestUuid, proof, verifier, authHeader, credentialRequests);
response = await callVerifyPresentation(context, type, verifiableCredential, presentationRequestId, proof, verifier, authHeader, credentialRequests);
expect(response.authToken).toBeUndefined();

@@ -314,3 +315,3 @@ });

let verStatus: boolean;
// const { context, type, verifiableCredential, presentationRequestUuid, proof, invalidProof, authHeader, verifier, credentialRequests } = populateMockData();
// const { context, type, verifiableCredential, presentationRequestId, proof, invalidProof, authHeader, verifier, credentialRequests } = populateMockData();

@@ -336,3 +337,3 @@ beforeAll(async () => {

mockGetDIDDoc.mockResolvedValue({ body: dummySubjectDidDoc, headers: dummyResponseHeaders });
response = await callVerifyPresentationManual(context, type, verifiableCredential, presentationRequestUuid, proof, verifier, authHeader, credentialRequests);
response = await callVerifyPresentationManual(context, type, verifiableCredential, presentationRequestId, proof, verifier, authHeader, credentialRequests);
verStatus = response.body.isVerified;

@@ -358,3 +359,3 @@ expect(mockGetDIDDoc).toBeCalled();

mockGetDIDDoc.mockResolvedValue({ body: dummyDidDocWithoutKeys, headers: dummyResponseHeaders });
const response = await callVerifyPresentation(context, type, verifiableCredential, presentationRequestUuid, proof, verifier, authHeader, credentialRequests);
const response = await callVerifyPresentation(context, type, verifiableCredential, presentationRequestId, proof, verifier, authHeader, credentialRequests);
expect(response.body.isVerified).toBe(false);

@@ -368,3 +369,3 @@ expect(response.body.message).toBe('Public key not found for the DID associated with the proof.verificationMethod');

try {
await callVerifyPresentation(context, type, verifiableCredential, presentationRequestUuid, proof, verifier, authHeader, credentialRequests);
await callVerifyPresentation(context, type, verifiableCredential, presentationRequestId, proof, verifier, authHeader, credentialRequests);
fail();

@@ -386,3 +387,3 @@ } catch (e) {

// const response = await callVerifyPresentation(context, type, verifiableCredential, presentationRequestUuid, proof, verifier, authHeader, credentialRequests);
// const response = await callVerifyPresentation(context, type, verifiableCredential, presentationRequestId, proof, verifier, authHeader, credentialRequests);
expect(response.body.isVerified).toBe(false);

@@ -394,7 +395,7 @@ expect(response.body.message).toBe(`The presentation was meant for verifier, ${presentation.verifierDid}, not the provided verifier, fakeVerifierDid.`);

describe('verifyPresentationHelper - Validation Failures', () => {
// const { context, type, verifiableCredential, presentationRequestUuid, proof, authHeader, verifier, credentialRequests } = populateMockData();
// const { context, type, verifiableCredential, presentationRequestId, proof, authHeader, verifier, credentialRequests } = populateMockData();
it('returns a 400 status code with a descriptive error message when context is missing', async () => {
try {
await callVerifyPresentationManual('', type, verifiableCredential, presentationRequestUuid, proof, verifier, authHeader, credentialRequests);
await callVerifyPresentationManual('', type, verifiableCredential, presentationRequestId, proof, verifier, authHeader, credentialRequests);
fail();

@@ -409,3 +410,3 @@ } catch (e) {

try {
await callVerifyPresentationManual(context, '', verifiableCredential, presentationRequestUuid, proof, verifier, authHeader, credentialRequests);
await callVerifyPresentationManual(context, '', verifiableCredential, presentationRequestId, proof, verifier, authHeader, credentialRequests);
fail();

@@ -420,3 +421,3 @@ } catch (e) {

try {
await callVerifyPresentationManual(context, type, '', presentationRequestUuid, proof, verifier, authHeader, credentialRequests);
await callVerifyPresentationManual(context, type, '', presentationRequestId, proof, verifier, authHeader, credentialRequests);
fail();

@@ -429,3 +430,3 @@ } catch (e) {

it('returns a 400 status code with a descriptive error message when presentationRequestUuid is missing', async () => {
it('returns a 400 status code with a descriptive error message when presentationRequestId is missing', async () => {
try {

@@ -436,3 +437,3 @@ await callVerifyPresentationManual(context, type, verifiableCredential, '', proof, verifier, authHeader, credentialRequests);

expect(e.code).toBe(400);
expect(e.message).toBe('Invalid Presentation: presentationRequestUuid is required.');
expect(e.message).toBe('Invalid Presentation: presentationRequestId is required.');
}

@@ -443,3 +444,3 @@ });

try {
await callVerifyPresentationManual(context, type, verifiableCredential, presentationRequestUuid, '', verifier, authHeader, credentialRequests);
await callVerifyPresentationManual(context, type, verifiableCredential, presentationRequestId, '', verifier, authHeader, credentialRequests);
fail();

@@ -454,3 +455,3 @@ } catch (e) {

try {
await callVerifyPresentationManual('https://www.w3.org/2018/credentials/v1', type, verifiableCredential, presentationRequestUuid, proof, verifier, authHeader, credentialRequests);
await callVerifyPresentationManual('https://www.w3.org/2018/credentials/v1', type, verifiableCredential, presentationRequestId, proof, verifier, authHeader, credentialRequests);
fail();

@@ -465,3 +466,3 @@ } catch (e) {

try {
await callVerifyPresentationManual([], type, verifiableCredential, presentationRequestUuid, proof, verifier, authHeader, credentialRequests);
await callVerifyPresentationManual([], type, verifiableCredential, presentationRequestId, proof, verifier, authHeader, credentialRequests);
fail();

@@ -476,3 +477,3 @@ } catch (e) {

try {
await callVerifyPresentationManual(context, 'VerifiablePresentation', verifiableCredential, presentationRequestUuid, proof, verifier, authHeader, credentialRequests);
await callVerifyPresentationManual(context, 'VerifiablePresentation', verifiableCredential, presentationRequestId, proof, verifier, authHeader, credentialRequests);
fail();

@@ -487,3 +488,3 @@ } catch (e) {

try {
await callVerifyPresentationManual(context, [], verifiableCredential, presentationRequestUuid, proof, verifier, authHeader, credentialRequests);
await callVerifyPresentationManual(context, [], verifiableCredential, presentationRequestId, proof, verifier, authHeader, credentialRequests);
fail();

@@ -498,3 +499,3 @@ } catch (e) {

try {
await callVerifyPresentationManual(context, type, 'verifiableCredential', presentationRequestUuid, proof, verifier, authHeader, credentialRequests);
await callVerifyPresentationManual(context, type, 'verifiableCredential', presentationRequestId, proof, verifier, authHeader, credentialRequests);
fail();

@@ -509,3 +510,3 @@ } catch (e) {

try {
await callVerifyPresentationManual(context, type, undefined, presentationRequestUuid, proof, verifier, authHeader, credentialRequests);
await callVerifyPresentationManual(context, type, undefined, presentationRequestId, proof, verifier, authHeader, credentialRequests);
fail();

@@ -520,3 +521,3 @@ } catch (e) {

try {
await callVerifyPresentation(context, type, verifiableCredential, presentationRequestUuid, proof, verifier, '', credentialRequests);
await callVerifyPresentation(context, type, verifiableCredential, presentationRequestId, proof, verifier, '', credentialRequests);
fail();

@@ -530,3 +531,3 @@ } catch (e) {

describe('verifyPresentation - Validation for verifiableCredential object', () => {
let context, type, verifiableCredentials, presentationRequestUuid, proof, authHeader, verifier, presentationRequestDto, presentationRequest, unsignedPresentationRequest, presentation, unsignedPresentation;
let context, type, verifiableCredentials, presentationRequestId, proof, authHeader, verifier, presentationRequestDto, presentationRequest, unsignedPresentationRequest, presentation, unsignedPresentation;

@@ -539,3 +540,3 @@ beforeAll(async () => {

verifiableCredentials = dummyData.verifiableCredentials;
presentationRequestUuid = dummyData.presentationRequestUuid;
presentationRequestId = dummyData.presentationRequestId;
proof = dummyData.proof;

@@ -556,3 +557,3 @@ authHeader = dummyData.authHeader;

try {
await callVerifyPresentationManual(context, type, cred, presentationRequestUuid, proof, verifier, authHeader, credentialRequests);
await callVerifyPresentationManual(context, type, cred, presentationRequestId, proof, verifier, authHeader, credentialRequests);
fail();

@@ -568,3 +569,3 @@ } catch (e) {

try {
await callVerifyPresentationManual(context, type, cred, presentationRequestUuid, proof, verifier, authHeader, credentialRequests);
await callVerifyPresentationManual(context, type, cred, presentationRequestId, proof, verifier, authHeader, credentialRequests);
fail();

@@ -580,3 +581,3 @@ } catch (e) {

try {
await callVerifyPresentationManual(context, type, cred, presentationRequestUuid, proof, verifier, authHeader, credentialRequests);
await callVerifyPresentationManual(context, type, cred, presentationRequestId, proof, verifier, authHeader, credentialRequests);
fail();

@@ -592,3 +593,3 @@ } catch (e) {

try {
await callVerifyPresentationManual(context, type, cred, presentationRequestUuid, proof, verifier, authHeader, credentialRequests);
await callVerifyPresentationManual(context, type, cred, presentationRequestId, proof, verifier, authHeader, credentialRequests);
fail();

@@ -604,3 +605,3 @@ } catch (e) {

try {
await callVerifyPresentationManual(context, type, cred, presentationRequestUuid, proof, verifier, authHeader, credentialRequests);
await callVerifyPresentationManual(context, type, cred, presentationRequestId, proof, verifier, authHeader, credentialRequests);
fail();

@@ -616,3 +617,3 @@ } catch (e) {

try {
await callVerifyPresentationManual(context, type, cred, presentationRequestUuid, proof, verifier, authHeader, credentialRequests);
await callVerifyPresentationManual(context, type, cred, presentationRequestId, proof, verifier, authHeader, credentialRequests);
fail();

@@ -628,3 +629,3 @@ } catch (e) {

try {
await callVerifyPresentationManual(context, type, cred, presentationRequestUuid, proof, verifier, authHeader, credentialRequests);
await callVerifyPresentationManual(context, type, cred, presentationRequestId, proof, verifier, authHeader, credentialRequests);
fail();

@@ -640,3 +641,3 @@ } catch (e) {

try {
await callVerifyPresentationManual(context, type, cred, presentationRequestUuid, proof, verifier, authHeader, credentialRequests);
await callVerifyPresentationManual(context, type, cred, presentationRequestId, proof, verifier, authHeader, credentialRequests);
fail();

@@ -667,3 +668,3 @@ } catch (e) {

try {
await callVerifyPresentationManual(context, type, credCopy, presentationRequestUuid, proof, verifier, authHeader, credentialRequests);
await callVerifyPresentationManual(context, type, credCopy, presentationRequestId, proof, verifier, authHeader, credentialRequests);
fail();

@@ -680,3 +681,3 @@ } catch (e) {

try {
await callVerifyPresentationManual(context, type, credCopy, presentationRequestUuid, proof, verifier, authHeader, credentialRequests);
await callVerifyPresentationManual(context, type, credCopy, presentationRequestId, proof, verifier, authHeader, credentialRequests);
fail();

@@ -694,3 +695,3 @@ } catch (e) {

try {
await callVerifyPresentationManual(context, type, verifiableCredential, presentationRequestUuid, invalidProof, verifier, authHeader, credentialRequests);
await callVerifyPresentationManual(context, type, verifiableCredential, presentationRequestId, invalidProof, verifier, authHeader, credentialRequests);
fail();

@@ -706,3 +707,3 @@ } catch (e) {

try {
await callVerifyPresentationManual(context, type, verifiableCredential, presentationRequestUuid, invalidProof, verifier, authHeader, credentialRequests);
await callVerifyPresentationManual(context, type, verifiableCredential, presentationRequestId, invalidProof, verifier, authHeader, credentialRequests);
fail();

@@ -718,3 +719,3 @@ } catch (e) {

try {
await callVerifyPresentationManual(context, type, verifiableCredential, presentationRequestUuid, invalidProof, verifier, authHeader, credentialRequests);
await callVerifyPresentationManual(context, type, verifiableCredential, presentationRequestId, invalidProof, verifier, authHeader, credentialRequests);
fail();

@@ -730,3 +731,3 @@ } catch (e) {

try {
await callVerifyPresentationManual(context, type, verifiableCredential, presentationRequestUuid, invalidProof, verifier, authHeader, credentialRequests);
await callVerifyPresentationManual(context, type, verifiableCredential, presentationRequestId, invalidProof, verifier, authHeader, credentialRequests);
fail();

@@ -742,3 +743,3 @@ } catch (e) {

try {
await callVerifyPresentationManual(context, type, verifiableCredential, presentationRequestUuid, invalidProof, verifier, authHeader, credentialRequests);
await callVerifyPresentationManual(context, type, verifiableCredential, presentationRequestId, invalidProof, verifier, authHeader, credentialRequests);
fail();

@@ -745,0 +746,0 @@ } catch (e) {

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc