From c42f28740ab9f537d489f73dec3385f146134c07 Mon Sep 17 00:00:00 2001 From: Hayden Young Date: Thu, 7 Sep 2023 13:44:24 +0100 Subject: [PATCH] fix: Async both the idp and the verifyIdentity function. --- src/identities/identities.js | 7 ++++--- src/identities/providers/publickey.js | 2 +- src/index.js | 1 - test/fixtures/providers/custom.js | 2 +- test/fixtures/providers/fake.js | 2 +- test/fixtures/providers/no-type.js | 2 +- test/fixtures/providers/no-verify-identity.js | 2 +- 7 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/identities/identities.js b/src/identities/identities.js index fc88a53..fb2eeb4 100644 --- a/src/identities/identities.js +++ b/src/identities/identities.js @@ -71,9 +71,10 @@ const Identities = async ({ keystore, path, storage, ipfs } = {}) => { */ const createIdentity = async (options = {}) => { options.keystore = keystore - const DefaultIdentityProviderType = getIdentityProvider('publickey') - const IdentityProvider = options.provider || DefaultIdentityProviderType({ keystore }) - const identityProvider = await IdentityProvider() + const DefaultIdentityProvider = getIdentityProvider('publickey') + const identityProviderInit = options.provider || DefaultIdentityProvider({ keystore }) + + const identityProvider = await identityProviderInit() if (!getIdentityProvider(identityProvider.type)) { throw new Error('Identity provider is unknown. Use useIdentityProvider(provider) to register the identity provider') diff --git a/src/identities/providers/publickey.js b/src/identities/providers/publickey.js index 798167f..88fac65 100644 --- a/src/identities/providers/publickey.js +++ b/src/identities/providers/publickey.js @@ -16,7 +16,7 @@ const type = 'publickey' * @static * @private */ -const verifyIdentity = identity => { +const verifyIdentity = async identity => { const { id, publicKey, signatures } = identity return verifyMessage(signatures.publicKey, id, publicKey + signatures.id) } diff --git a/src/index.js b/src/index.js index b4ef4dc..ec833ca 100644 --- a/src/index.js +++ b/src/index.js @@ -23,7 +23,6 @@ export { default as KeyStore } from './key-store.js' export { useAccessController, - removeAccessController, IPFSAccessController, OrbitDBAccessController } from './access-controllers/index.js' diff --git a/test/fixtures/providers/custom.js b/test/fixtures/providers/custom.js index 5c790fb..4ab986f 100644 --- a/test/fixtures/providers/custom.js +++ b/test/fixtures/providers/custom.js @@ -2,7 +2,7 @@ const type = 'custom' const verifyIdentity = async (data) => { return true } -const CustomIdentityProvider = () => () => { +const CustomIdentityProvider = () => async () => { const getId = () => { return 'custom' } const signIdentity = (data) => { return `signature '${data}'` } diff --git a/test/fixtures/providers/fake.js b/test/fixtures/providers/fake.js index ffb119d..e529147 100644 --- a/test/fixtures/providers/fake.js +++ b/test/fixtures/providers/fake.js @@ -2,7 +2,7 @@ const type = 'fake' const verifyIdentity = async (data) => { return false } -const FakeIdentityProvider = () => () => { +const FakeIdentityProvider = () => async () => { const getId = () => { return 'pubKey' } const signIdentity = (data) => { return `false signature '${data}'` } diff --git a/test/fixtures/providers/no-type.js b/test/fixtures/providers/no-type.js index 4d565d8..4ff70ea 100644 --- a/test/fixtures/providers/no-type.js +++ b/test/fixtures/providers/no-type.js @@ -1,4 +1,4 @@ -const NoTypeIdentityProvider = () => () => { +const NoTypeIdentityProvider = () => async () => { } diff --git a/test/fixtures/providers/no-verify-identity.js b/test/fixtures/providers/no-verify-identity.js index 42dae8e..478f6ba 100644 --- a/test/fixtures/providers/no-verify-identity.js +++ b/test/fixtures/providers/no-verify-identity.js @@ -1,6 +1,6 @@ const type = 'no-verify-identity' -const NoVerifyIdentityIdentityProvider = () => () => { +const NoVerifyIdentityIdentityProvider = () => async () => { return { type }