@twin.org/identity-connector-entity-storage 0.0.1-next.14 → 0.0.1-next.16
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/cjs/index.cjs
CHANGED
|
@@ -136,7 +136,7 @@ class EntityStorageIdentityConnector {
|
|
|
136
136
|
core.Guards.stringValue(this.CLASS_NAME, "controller", controller);
|
|
137
137
|
try {
|
|
138
138
|
const did = `did:${EntityStorageIdentityConnector.NAMESPACE}:${core.Converter.bytesToHex(core.RandomHelper.generate(32), true)}`;
|
|
139
|
-
await this._vaultConnector.createKey(this.buildVaultKey(did, did), vaultModels.VaultKeyType.Ed25519);
|
|
139
|
+
await this._vaultConnector.createKey(this.buildVaultKey(did, "did"), vaultModels.VaultKeyType.Ed25519);
|
|
140
140
|
const bitString = new core.BitString(EntityStorageIdentityConnector._REVOCATION_BITS_SIZE);
|
|
141
141
|
const compressed = await core.Compression.compress(bitString.getBits(), core.CompressionType.Gzip);
|
|
142
142
|
const didDocument = {
|
|
@@ -197,7 +197,7 @@ class EntityStorageIdentityConnector {
|
|
|
197
197
|
}
|
|
198
198
|
await this.verifyDocument(didIdentityDocument);
|
|
199
199
|
const didDocument = didIdentityDocument.document;
|
|
200
|
-
const tempKeyId = `temp-${core.Converter.bytesToBase64Url(core.RandomHelper.generate(
|
|
200
|
+
const tempKeyId = `temp-vm-${core.Converter.bytesToBase64Url(core.RandomHelper.generate(16))}`;
|
|
201
201
|
const verificationPublicKey = await this._vaultConnector.createKey(this.buildVaultKey(didDocument.id, tempKeyId), vaultModels.VaultKeyType.Ed25519);
|
|
202
202
|
const jwkParams = {
|
|
203
203
|
alg: "EdDSA",
|
|
@@ -207,7 +207,7 @@ class EntityStorageIdentityConnector {
|
|
|
207
207
|
};
|
|
208
208
|
const kid = core.Converter.bytesToBase64Url(crypto.Sha256.sum256(core.Converter.utf8ToBytes(JSON.stringify(jwkParams))));
|
|
209
209
|
const methodId = `${documentId}#${verificationMethodId ?? kid}`;
|
|
210
|
-
await this._vaultConnector.renameKey(this.buildVaultKey(didDocument.id, tempKeyId), this.buildVaultKey(didDocument.id,
|
|
210
|
+
await this._vaultConnector.renameKey(this.buildVaultKey(didDocument.id, tempKeyId), this.buildVaultKey(didDocument.id, verificationMethodId ?? kid));
|
|
211
211
|
const methods = this.getAllMethods(didDocument);
|
|
212
212
|
const existingMethodIndex = methods.findIndex(m => {
|
|
213
213
|
if (core.Is.string(m.method)) {
|
|
@@ -421,7 +421,7 @@ class EntityStorageIdentityConnector {
|
|
|
421
421
|
finalTypes.push(credType);
|
|
422
422
|
}
|
|
423
423
|
const verifiableCredential = {
|
|
424
|
-
"@context": dataJsonLd.JsonLdProcessor.combineContexts(standardsW3cDid.DidContexts.
|
|
424
|
+
"@context": dataJsonLd.JsonLdProcessor.combineContexts(standardsW3cDid.DidContexts.ContextVCv2, credContext),
|
|
425
425
|
id,
|
|
426
426
|
type: finalTypes,
|
|
427
427
|
credentialSubject: credentialClone,
|
|
@@ -465,7 +465,7 @@ class EntityStorageIdentityConnector {
|
|
|
465
465
|
vc: jwtVc
|
|
466
466
|
};
|
|
467
467
|
const signature = await web.Jwt.encodeWithSigner(jwtHeader, jwtPayload, async (alg, key, payload) => {
|
|
468
|
-
const sig = await this._vaultConnector.sign(this.buildVaultKey(idParts.id,
|
|
468
|
+
const sig = await this._vaultConnector.sign(this.buildVaultKey(idParts.id, idParts.hash ?? ""), payload);
|
|
469
469
|
return sig;
|
|
470
470
|
});
|
|
471
471
|
return {
|
|
@@ -542,9 +542,7 @@ class EntityStorageIdentityConnector {
|
|
|
542
542
|
const revoked = await this.checkRevocation(issuerDidDocument, verifiableCredential.credentialStatus?.revocationBitmapIndex);
|
|
543
543
|
return {
|
|
544
544
|
revoked,
|
|
545
|
-
verifiableCredential: revoked
|
|
546
|
-
? undefined
|
|
547
|
-
: verifiableCredential
|
|
545
|
+
verifiableCredential: revoked ? undefined : verifiableCredential
|
|
548
546
|
};
|
|
549
547
|
}
|
|
550
548
|
catch (error) {
|
|
@@ -689,7 +687,7 @@ class EntityStorageIdentityConnector {
|
|
|
689
687
|
finalTypes.push(types);
|
|
690
688
|
}
|
|
691
689
|
const verifiablePresentation = {
|
|
692
|
-
"@context": dataJsonLd.JsonLdProcessor.combineContexts(standardsW3cDid.DidContexts.
|
|
690
|
+
"@context": dataJsonLd.JsonLdProcessor.combineContexts(standardsW3cDid.DidContexts.ContextVCv2, contexts),
|
|
693
691
|
id: presentationId,
|
|
694
692
|
type: finalTypes,
|
|
695
693
|
verifiableCredential: verifiableCredentials,
|
|
@@ -715,7 +713,7 @@ class EntityStorageIdentityConnector {
|
|
|
715
713
|
jwtPayload.exp = Math.floor(Date.now() / 1000) + expiresInSeconds;
|
|
716
714
|
}
|
|
717
715
|
const signature = await web.Jwt.encodeWithSigner(jwtHeader, jwtPayload, async (alg, key, payload) => {
|
|
718
|
-
const sig = await this._vaultConnector.sign(this.buildVaultKey(idParts.id,
|
|
716
|
+
const sig = await this._vaultConnector.sign(this.buildVaultKey(idParts.id, idParts.hash ?? ""), payload);
|
|
719
717
|
return sig;
|
|
720
718
|
});
|
|
721
719
|
return {
|
|
@@ -832,11 +830,11 @@ class EntityStorageIdentityConnector {
|
|
|
832
830
|
if (!core.Is.stringValue(didMethod.publicKeyJwk?.x)) {
|
|
833
831
|
throw new core.GeneralError(this.CLASS_NAME, "publicKeyJwkMissing");
|
|
834
832
|
}
|
|
835
|
-
const signature = await this._vaultConnector.sign(this.buildVaultKey(didDocument.id,
|
|
833
|
+
const signature = await this._vaultConnector.sign(this.buildVaultKey(didDocument.id, idParts.hash ?? ""), bytes);
|
|
836
834
|
return {
|
|
837
835
|
"@context": standardsW3cDid.DidContexts.ContextVCDataIntegrity,
|
|
838
836
|
type: standardsW3cDid.DidTypes.DataIntegrityProof,
|
|
839
|
-
cryptosuite:
|
|
837
|
+
cryptosuite: standardsW3cDid.DidCryptoSuites.EdDSAJcs2022,
|
|
840
838
|
created: new Date(Date.now()).toISOString(),
|
|
841
839
|
verificationMethod: verificationMethodId,
|
|
842
840
|
proofPurpose: "assertionMethod",
|
|
@@ -864,7 +862,7 @@ class EntityStorageIdentityConnector {
|
|
|
864
862
|
if (proof.type !== standardsW3cDid.DidTypes.DataIntegrityProof) {
|
|
865
863
|
throw new core.GeneralError(this.CLASS_NAME, "proofType", { proofType: proof.type });
|
|
866
864
|
}
|
|
867
|
-
if (proof.cryptosuite !==
|
|
865
|
+
if (proof.cryptosuite !== standardsW3cDid.DidCryptoSuites.EdDSAJcs2022) {
|
|
868
866
|
throw new core.GeneralError(this.CLASS_NAME, "cryptoSuite", { cryptosuite: proof.cryptosuite });
|
|
869
867
|
}
|
|
870
868
|
const idParts = identityModels.DocumentHelper.parse(proof.verificationMethod);
|
|
@@ -891,7 +889,7 @@ class EntityStorageIdentityConnector {
|
|
|
891
889
|
if (!core.Is.stringValue(didMethod.publicKeyJwk?.x)) {
|
|
892
890
|
throw new core.GeneralError(this.CLASS_NAME, "publicKeyJwkMissing");
|
|
893
891
|
}
|
|
894
|
-
return this._vaultConnector.verify(this.buildVaultKey(didIdentityDocument.id,
|
|
892
|
+
return this._vaultConnector.verify(this.buildVaultKey(didIdentityDocument.id, idParts.hash), bytes, core.Converter.base58ToBytes(proof.proofValue));
|
|
895
893
|
}
|
|
896
894
|
catch (error) {
|
|
897
895
|
throw new core.GeneralError(this.CLASS_NAME, "verifyProofFailed", undefined, error);
|
|
@@ -952,7 +950,7 @@ class EntityStorageIdentityConnector {
|
|
|
952
950
|
async verifyDocument(didDocument) {
|
|
953
951
|
const stringifiedDocument = core.JsonHelper.canonicalize(didDocument.document);
|
|
954
952
|
const docBytes = core.Converter.utf8ToBytes(stringifiedDocument);
|
|
955
|
-
const verified = await this._vaultConnector.verify(this.buildVaultKey(didDocument.id,
|
|
953
|
+
const verified = await this._vaultConnector.verify(this.buildVaultKey(didDocument.id, "did"), docBytes, core.Converter.base64ToBytes(didDocument.signature));
|
|
956
954
|
if (!verified) {
|
|
957
955
|
throw new core.GeneralError(this.CLASS_NAME, "signatureVerificationFailed");
|
|
958
956
|
}
|
|
@@ -966,7 +964,7 @@ class EntityStorageIdentityConnector {
|
|
|
966
964
|
async updateDocument(controller, didDocument) {
|
|
967
965
|
const stringifiedDocument = core.JsonHelper.canonicalize(didDocument);
|
|
968
966
|
const docBytes = core.Converter.utf8ToBytes(stringifiedDocument);
|
|
969
|
-
const signature = await this._vaultConnector.sign(this.buildVaultKey(didDocument.id,
|
|
967
|
+
const signature = await this._vaultConnector.sign(this.buildVaultKey(didDocument.id, "did"), docBytes);
|
|
970
968
|
await this._didDocumentEntityStorage.set({
|
|
971
969
|
id: didDocument.id,
|
|
972
970
|
document: didDocument,
|
package/dist/esm/index.mjs
CHANGED
|
@@ -4,7 +4,7 @@ import { Sha256 } from '@twin.org/crypto';
|
|
|
4
4
|
import { JsonLdProcessor } from '@twin.org/data-json-ld';
|
|
5
5
|
import { EntityStorageConnectorFactory } from '@twin.org/entity-storage-models';
|
|
6
6
|
import { DocumentHelper } from '@twin.org/identity-models';
|
|
7
|
-
import { DidVerificationMethodType, DidTypes, DidContexts } from '@twin.org/standards-w3c-did';
|
|
7
|
+
import { DidVerificationMethodType, DidTypes, DidContexts, DidCryptoSuites } from '@twin.org/standards-w3c-did';
|
|
8
8
|
import { VaultConnectorFactory, VaultKeyType } from '@twin.org/vault-models';
|
|
9
9
|
import { Jwt } from '@twin.org/web';
|
|
10
10
|
|
|
@@ -134,7 +134,7 @@ class EntityStorageIdentityConnector {
|
|
|
134
134
|
Guards.stringValue(this.CLASS_NAME, "controller", controller);
|
|
135
135
|
try {
|
|
136
136
|
const did = `did:${EntityStorageIdentityConnector.NAMESPACE}:${Converter.bytesToHex(RandomHelper.generate(32), true)}`;
|
|
137
|
-
await this._vaultConnector.createKey(this.buildVaultKey(did, did), VaultKeyType.Ed25519);
|
|
137
|
+
await this._vaultConnector.createKey(this.buildVaultKey(did, "did"), VaultKeyType.Ed25519);
|
|
138
138
|
const bitString = new BitString(EntityStorageIdentityConnector._REVOCATION_BITS_SIZE);
|
|
139
139
|
const compressed = await Compression.compress(bitString.getBits(), CompressionType.Gzip);
|
|
140
140
|
const didDocument = {
|
|
@@ -195,7 +195,7 @@ class EntityStorageIdentityConnector {
|
|
|
195
195
|
}
|
|
196
196
|
await this.verifyDocument(didIdentityDocument);
|
|
197
197
|
const didDocument = didIdentityDocument.document;
|
|
198
|
-
const tempKeyId = `temp-${Converter.bytesToBase64Url(RandomHelper.generate(
|
|
198
|
+
const tempKeyId = `temp-vm-${Converter.bytesToBase64Url(RandomHelper.generate(16))}`;
|
|
199
199
|
const verificationPublicKey = await this._vaultConnector.createKey(this.buildVaultKey(didDocument.id, tempKeyId), VaultKeyType.Ed25519);
|
|
200
200
|
const jwkParams = {
|
|
201
201
|
alg: "EdDSA",
|
|
@@ -205,7 +205,7 @@ class EntityStorageIdentityConnector {
|
|
|
205
205
|
};
|
|
206
206
|
const kid = Converter.bytesToBase64Url(Sha256.sum256(Converter.utf8ToBytes(JSON.stringify(jwkParams))));
|
|
207
207
|
const methodId = `${documentId}#${verificationMethodId ?? kid}`;
|
|
208
|
-
await this._vaultConnector.renameKey(this.buildVaultKey(didDocument.id, tempKeyId), this.buildVaultKey(didDocument.id,
|
|
208
|
+
await this._vaultConnector.renameKey(this.buildVaultKey(didDocument.id, tempKeyId), this.buildVaultKey(didDocument.id, verificationMethodId ?? kid));
|
|
209
209
|
const methods = this.getAllMethods(didDocument);
|
|
210
210
|
const existingMethodIndex = methods.findIndex(m => {
|
|
211
211
|
if (Is.string(m.method)) {
|
|
@@ -419,7 +419,7 @@ class EntityStorageIdentityConnector {
|
|
|
419
419
|
finalTypes.push(credType);
|
|
420
420
|
}
|
|
421
421
|
const verifiableCredential = {
|
|
422
|
-
"@context": JsonLdProcessor.combineContexts(DidContexts.
|
|
422
|
+
"@context": JsonLdProcessor.combineContexts(DidContexts.ContextVCv2, credContext),
|
|
423
423
|
id,
|
|
424
424
|
type: finalTypes,
|
|
425
425
|
credentialSubject: credentialClone,
|
|
@@ -463,7 +463,7 @@ class EntityStorageIdentityConnector {
|
|
|
463
463
|
vc: jwtVc
|
|
464
464
|
};
|
|
465
465
|
const signature = await Jwt.encodeWithSigner(jwtHeader, jwtPayload, async (alg, key, payload) => {
|
|
466
|
-
const sig = await this._vaultConnector.sign(this.buildVaultKey(idParts.id,
|
|
466
|
+
const sig = await this._vaultConnector.sign(this.buildVaultKey(idParts.id, idParts.hash ?? ""), payload);
|
|
467
467
|
return sig;
|
|
468
468
|
});
|
|
469
469
|
return {
|
|
@@ -540,9 +540,7 @@ class EntityStorageIdentityConnector {
|
|
|
540
540
|
const revoked = await this.checkRevocation(issuerDidDocument, verifiableCredential.credentialStatus?.revocationBitmapIndex);
|
|
541
541
|
return {
|
|
542
542
|
revoked,
|
|
543
|
-
verifiableCredential: revoked
|
|
544
|
-
? undefined
|
|
545
|
-
: verifiableCredential
|
|
543
|
+
verifiableCredential: revoked ? undefined : verifiableCredential
|
|
546
544
|
};
|
|
547
545
|
}
|
|
548
546
|
catch (error) {
|
|
@@ -687,7 +685,7 @@ class EntityStorageIdentityConnector {
|
|
|
687
685
|
finalTypes.push(types);
|
|
688
686
|
}
|
|
689
687
|
const verifiablePresentation = {
|
|
690
|
-
"@context": JsonLdProcessor.combineContexts(DidContexts.
|
|
688
|
+
"@context": JsonLdProcessor.combineContexts(DidContexts.ContextVCv2, contexts),
|
|
691
689
|
id: presentationId,
|
|
692
690
|
type: finalTypes,
|
|
693
691
|
verifiableCredential: verifiableCredentials,
|
|
@@ -713,7 +711,7 @@ class EntityStorageIdentityConnector {
|
|
|
713
711
|
jwtPayload.exp = Math.floor(Date.now() / 1000) + expiresInSeconds;
|
|
714
712
|
}
|
|
715
713
|
const signature = await Jwt.encodeWithSigner(jwtHeader, jwtPayload, async (alg, key, payload) => {
|
|
716
|
-
const sig = await this._vaultConnector.sign(this.buildVaultKey(idParts.id,
|
|
714
|
+
const sig = await this._vaultConnector.sign(this.buildVaultKey(idParts.id, idParts.hash ?? ""), payload);
|
|
717
715
|
return sig;
|
|
718
716
|
});
|
|
719
717
|
return {
|
|
@@ -830,11 +828,11 @@ class EntityStorageIdentityConnector {
|
|
|
830
828
|
if (!Is.stringValue(didMethod.publicKeyJwk?.x)) {
|
|
831
829
|
throw new GeneralError(this.CLASS_NAME, "publicKeyJwkMissing");
|
|
832
830
|
}
|
|
833
|
-
const signature = await this._vaultConnector.sign(this.buildVaultKey(didDocument.id,
|
|
831
|
+
const signature = await this._vaultConnector.sign(this.buildVaultKey(didDocument.id, idParts.hash ?? ""), bytes);
|
|
834
832
|
return {
|
|
835
833
|
"@context": DidContexts.ContextVCDataIntegrity,
|
|
836
834
|
type: DidTypes.DataIntegrityProof,
|
|
837
|
-
cryptosuite:
|
|
835
|
+
cryptosuite: DidCryptoSuites.EdDSAJcs2022,
|
|
838
836
|
created: new Date(Date.now()).toISOString(),
|
|
839
837
|
verificationMethod: verificationMethodId,
|
|
840
838
|
proofPurpose: "assertionMethod",
|
|
@@ -862,7 +860,7 @@ class EntityStorageIdentityConnector {
|
|
|
862
860
|
if (proof.type !== DidTypes.DataIntegrityProof) {
|
|
863
861
|
throw new GeneralError(this.CLASS_NAME, "proofType", { proofType: proof.type });
|
|
864
862
|
}
|
|
865
|
-
if (proof.cryptosuite !==
|
|
863
|
+
if (proof.cryptosuite !== DidCryptoSuites.EdDSAJcs2022) {
|
|
866
864
|
throw new GeneralError(this.CLASS_NAME, "cryptoSuite", { cryptosuite: proof.cryptosuite });
|
|
867
865
|
}
|
|
868
866
|
const idParts = DocumentHelper.parse(proof.verificationMethod);
|
|
@@ -889,7 +887,7 @@ class EntityStorageIdentityConnector {
|
|
|
889
887
|
if (!Is.stringValue(didMethod.publicKeyJwk?.x)) {
|
|
890
888
|
throw new GeneralError(this.CLASS_NAME, "publicKeyJwkMissing");
|
|
891
889
|
}
|
|
892
|
-
return this._vaultConnector.verify(this.buildVaultKey(didIdentityDocument.id,
|
|
890
|
+
return this._vaultConnector.verify(this.buildVaultKey(didIdentityDocument.id, idParts.hash), bytes, Converter.base58ToBytes(proof.proofValue));
|
|
893
891
|
}
|
|
894
892
|
catch (error) {
|
|
895
893
|
throw new GeneralError(this.CLASS_NAME, "verifyProofFailed", undefined, error);
|
|
@@ -950,7 +948,7 @@ class EntityStorageIdentityConnector {
|
|
|
950
948
|
async verifyDocument(didDocument) {
|
|
951
949
|
const stringifiedDocument = JsonHelper.canonicalize(didDocument.document);
|
|
952
950
|
const docBytes = Converter.utf8ToBytes(stringifiedDocument);
|
|
953
|
-
const verified = await this._vaultConnector.verify(this.buildVaultKey(didDocument.id,
|
|
951
|
+
const verified = await this._vaultConnector.verify(this.buildVaultKey(didDocument.id, "did"), docBytes, Converter.base64ToBytes(didDocument.signature));
|
|
954
952
|
if (!verified) {
|
|
955
953
|
throw new GeneralError(this.CLASS_NAME, "signatureVerificationFailed");
|
|
956
954
|
}
|
|
@@ -964,7 +962,7 @@ class EntityStorageIdentityConnector {
|
|
|
964
962
|
async updateDocument(controller, didDocument) {
|
|
965
963
|
const stringifiedDocument = JsonHelper.canonicalize(didDocument);
|
|
966
964
|
const docBytes = Converter.utf8ToBytes(stringifiedDocument);
|
|
967
|
-
const signature = await this._vaultConnector.sign(this.buildVaultKey(didDocument.id,
|
|
965
|
+
const signature = await this._vaultConnector.sign(this.buildVaultKey(didDocument.id, "did"), docBytes);
|
|
968
966
|
await this._didDocumentEntityStorage.set({
|
|
969
967
|
id: didDocument.id,
|
|
970
968
|
document: didDocument,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { type IJsonLdContextDefinitionRoot, type
|
|
1
|
+
import { type IJsonLdContextDefinitionRoot, type IJsonLdNodeObject } from "@twin.org/data-json-ld";
|
|
2
2
|
import { type IIdentityConnector } from "@twin.org/identity-models";
|
|
3
|
-
import { DidVerificationMethodType, type
|
|
3
|
+
import { DidVerificationMethodType, type IDidDocument, type IDidDocumentVerificationMethod, type IDidProof, type IDidService, type IDidVerifiableCredential, type IDidVerifiablePresentation } from "@twin.org/standards-w3c-did";
|
|
4
4
|
/**
|
|
5
5
|
* Class for performing identity operations using entity storage.
|
|
6
6
|
*/
|
|
@@ -85,8 +85,8 @@ export declare class EntityStorageIdentityConnector implements IIdentityConnecto
|
|
|
85
85
|
* @returns The created verifiable credential and its token.
|
|
86
86
|
* @throws NotFoundError if the id can not be resolved.
|
|
87
87
|
*/
|
|
88
|
-
createVerifiableCredential
|
|
89
|
-
verifiableCredential: IDidVerifiableCredential
|
|
88
|
+
createVerifiableCredential(controller: string, verificationMethodId: string, id: string | undefined, credential: IJsonLdNodeObject, revocationIndex?: number): Promise<{
|
|
89
|
+
verifiableCredential: IDidVerifiableCredential;
|
|
90
90
|
jwt: string;
|
|
91
91
|
}>;
|
|
92
92
|
/**
|
|
@@ -94,9 +94,9 @@ export declare class EntityStorageIdentityConnector implements IIdentityConnecto
|
|
|
94
94
|
* @param credentialJwt The credential to verify.
|
|
95
95
|
* @returns The credential stored in the jwt and the revocation status.
|
|
96
96
|
*/
|
|
97
|
-
checkVerifiableCredential
|
|
97
|
+
checkVerifiableCredential(credentialJwt: string): Promise<{
|
|
98
98
|
revoked: boolean;
|
|
99
|
-
verifiableCredential?: IDidVerifiableCredential
|
|
99
|
+
verifiableCredential?: IDidVerifiableCredential;
|
|
100
100
|
}>;
|
|
101
101
|
/**
|
|
102
102
|
* Revoke verifiable credential(s).
|
|
@@ -126,8 +126,8 @@ export declare class EntityStorageIdentityConnector implements IIdentityConnecto
|
|
|
126
126
|
* @returns The created verifiable presentation and its token.
|
|
127
127
|
* @throws NotFoundError if the id can not be resolved.
|
|
128
128
|
*/
|
|
129
|
-
createVerifiablePresentation
|
|
130
|
-
verifiablePresentation: IDidVerifiablePresentation
|
|
129
|
+
createVerifiablePresentation(controller: string, presentationMethodId: string, presentationId: string | undefined, contexts: IJsonLdContextDefinitionRoot | undefined, types: string | string[] | undefined, verifiableCredentials: (string | IDidVerifiableCredential)[], expiresInMinutes?: number): Promise<{
|
|
130
|
+
verifiablePresentation: IDidVerifiablePresentation;
|
|
131
131
|
jwt: string;
|
|
132
132
|
}>;
|
|
133
133
|
/**
|
|
@@ -135,9 +135,9 @@ export declare class EntityStorageIdentityConnector implements IIdentityConnecto
|
|
|
135
135
|
* @param presentationJwt The presentation to verify.
|
|
136
136
|
* @returns The presentation stored in the jwt and the revocation status.
|
|
137
137
|
*/
|
|
138
|
-
checkVerifiablePresentation
|
|
138
|
+
checkVerifiablePresentation(presentationJwt: string): Promise<{
|
|
139
139
|
revoked: boolean;
|
|
140
|
-
verifiablePresentation?: IDidVerifiablePresentation
|
|
140
|
+
verifiablePresentation?: IDidVerifiablePresentation;
|
|
141
141
|
issuers?: IDidDocument[];
|
|
142
142
|
}>;
|
|
143
143
|
/**
|
package/docs/changelog.md
CHANGED
|
@@ -264,14 +264,10 @@ NotFoundError if the id can not be resolved.
|
|
|
264
264
|
|
|
265
265
|
### createVerifiableCredential()
|
|
266
266
|
|
|
267
|
-
> **createVerifiableCredential
|
|
267
|
+
> **createVerifiableCredential**(`controller`, `verificationMethodId`, `id`, `credential`, `revocationIndex`?): `Promise`\<`object`\>
|
|
268
268
|
|
|
269
269
|
Create a verifiable credential for a verification method.
|
|
270
270
|
|
|
271
|
-
#### Type Parameters
|
|
272
|
-
|
|
273
|
-
• **T** *extends* `IJsonLdObject`
|
|
274
|
-
|
|
275
271
|
#### Parameters
|
|
276
272
|
|
|
277
273
|
• **controller**: `string`
|
|
@@ -286,7 +282,7 @@ The verification method id to use.
|
|
|
286
282
|
|
|
287
283
|
The id of the credential.
|
|
288
284
|
|
|
289
|
-
• **credential**: `
|
|
285
|
+
• **credential**: `IJsonLdNodeObject`
|
|
290
286
|
|
|
291
287
|
The credential to store in the verifiable credential.
|
|
292
288
|
|
|
@@ -302,7 +298,7 @@ The created verifiable credential and its token.
|
|
|
302
298
|
|
|
303
299
|
##### verifiableCredential
|
|
304
300
|
|
|
305
|
-
> **verifiableCredential**: `IDidVerifiableCredential
|
|
301
|
+
> **verifiableCredential**: `IDidVerifiableCredential`
|
|
306
302
|
|
|
307
303
|
##### jwt
|
|
308
304
|
|
|
@@ -320,14 +316,10 @@ NotFoundError if the id can not be resolved.
|
|
|
320
316
|
|
|
321
317
|
### checkVerifiableCredential()
|
|
322
318
|
|
|
323
|
-
> **checkVerifiableCredential
|
|
319
|
+
> **checkVerifiableCredential**(`credentialJwt`): `Promise`\<`object`\>
|
|
324
320
|
|
|
325
321
|
Check a verifiable credential is valid.
|
|
326
322
|
|
|
327
|
-
#### Type Parameters
|
|
328
|
-
|
|
329
|
-
• **T** *extends* `IJsonLdObject`
|
|
330
|
-
|
|
331
323
|
#### Parameters
|
|
332
324
|
|
|
333
325
|
• **credentialJwt**: `string`
|
|
@@ -346,7 +338,7 @@ The credential stored in the jwt and the revocation status.
|
|
|
346
338
|
|
|
347
339
|
##### verifiableCredential?
|
|
348
340
|
|
|
349
|
-
> `optional` **verifiableCredential**: `IDidVerifiableCredential
|
|
341
|
+
> `optional` **verifiableCredential**: `IDidVerifiableCredential`
|
|
350
342
|
|
|
351
343
|
#### Implementation of
|
|
352
344
|
|
|
@@ -420,14 +412,10 @@ Nothing.
|
|
|
420
412
|
|
|
421
413
|
### createVerifiablePresentation()
|
|
422
414
|
|
|
423
|
-
> **createVerifiablePresentation
|
|
415
|
+
> **createVerifiablePresentation**(`controller`, `presentationMethodId`, `presentationId`, `contexts`, `types`, `verifiableCredentials`, `expiresInMinutes`?): `Promise`\<`object`\>
|
|
424
416
|
|
|
425
417
|
Create a verifiable presentation from the supplied verifiable credentials.
|
|
426
418
|
|
|
427
|
-
#### Type Parameters
|
|
428
|
-
|
|
429
|
-
• **T** *extends* `IJsonLdObject`
|
|
430
|
-
|
|
431
419
|
#### Parameters
|
|
432
420
|
|
|
433
421
|
• **controller**: `string`
|
|
@@ -450,7 +438,7 @@ The contexts for the data stored in the verifiable credential.
|
|
|
450
438
|
|
|
451
439
|
The types for the data stored in the verifiable credential.
|
|
452
440
|
|
|
453
|
-
• **verifiableCredentials**: (`string` \| `IDidVerifiableCredential
|
|
441
|
+
• **verifiableCredentials**: (`string` \| `IDidVerifiableCredential`)[]
|
|
454
442
|
|
|
455
443
|
The credentials to use for creating the presentation in jwt format.
|
|
456
444
|
|
|
@@ -466,7 +454,7 @@ The created verifiable presentation and its token.
|
|
|
466
454
|
|
|
467
455
|
##### verifiablePresentation
|
|
468
456
|
|
|
469
|
-
> **verifiablePresentation**: `IDidVerifiablePresentation
|
|
457
|
+
> **verifiablePresentation**: `IDidVerifiablePresentation`
|
|
470
458
|
|
|
471
459
|
##### jwt
|
|
472
460
|
|
|
@@ -484,14 +472,10 @@ NotFoundError if the id can not be resolved.
|
|
|
484
472
|
|
|
485
473
|
### checkVerifiablePresentation()
|
|
486
474
|
|
|
487
|
-
> **checkVerifiablePresentation
|
|
475
|
+
> **checkVerifiablePresentation**(`presentationJwt`): `Promise`\<`object`\>
|
|
488
476
|
|
|
489
477
|
Check a verifiable presentation is valid.
|
|
490
478
|
|
|
491
|
-
#### Type Parameters
|
|
492
|
-
|
|
493
|
-
• **T** *extends* `IJsonLdObject`
|
|
494
|
-
|
|
495
479
|
#### Parameters
|
|
496
480
|
|
|
497
481
|
• **presentationJwt**: `string`
|
|
@@ -510,7 +494,7 @@ The presentation stored in the jwt and the revocation status.
|
|
|
510
494
|
|
|
511
495
|
##### verifiablePresentation?
|
|
512
496
|
|
|
513
|
-
> `optional` **verifiablePresentation**: `IDidVerifiablePresentation
|
|
497
|
+
> `optional` **verifiablePresentation**: `IDidVerifiablePresentation`
|
|
514
498
|
|
|
515
499
|
##### issuers?
|
|
516
500
|
|
package/locales/en.json
CHANGED
|
@@ -26,7 +26,9 @@
|
|
|
26
26
|
"methodMissing": "The verification method specified does not exist",
|
|
27
27
|
"verifyProofFailed": "Verifying the signature for the data failed",
|
|
28
28
|
"revokeVerifiableCredentialsFailed": "Revoking verifiable credentials failed",
|
|
29
|
-
"unrevokeVerifiableCredentialsFailed": "Unrevoking verifiable credentials failed"
|
|
29
|
+
"unrevokeVerifiableCredentialsFailed": "Unrevoking verifiable credentials failed",
|
|
30
|
+
"proofType": "The proof type must be DataIntegrityProof, it is currently {proofType}",
|
|
31
|
+
"cryptosuite": "The proof cryptosuite must be eddsa-jcs-2022, it is currently {cryptosuite}"
|
|
30
32
|
},
|
|
31
33
|
"entityStorageIdentityProfileConnector": {
|
|
32
34
|
"alreadyExists": "The identity profile already exists for the identity \"{existingId}\"",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@twin.org/identity-connector-entity-storage",
|
|
3
|
-
"version": "0.0.1-next.
|
|
3
|
+
"version": "0.0.1-next.16",
|
|
4
4
|
"description": "Identity connector implementation using entity storage",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"@twin.org/data-core": "next",
|
|
20
20
|
"@twin.org/data-json-ld": "next",
|
|
21
21
|
"@twin.org/entity": "next",
|
|
22
|
-
"@twin.org/identity-models": "0.0.1-next.
|
|
22
|
+
"@twin.org/identity-models": "0.0.1-next.16",
|
|
23
23
|
"@twin.org/nameof": "next",
|
|
24
24
|
"@twin.org/standards-w3c-did": "next",
|
|
25
25
|
"@twin.org/vault-models": "next",
|