Identity Node.js SDK


Installation

Our Node.js SDK is distributed via npm, and can be installed using your preferred package manager.

Terminal
# Install using npm
npm install --save @zalter/identity

# Install using Yarn
yarn add @zalter/identity

Initialization

Configure the identity client.

JavaScript
import { IdentityClient } from '@zalter/identity';

const config = {
  projectId: '<your-project-id>',
  credentials: '<your-credentials>' // service account credentials
};

export const identityClient = new IdentityClient(config);

Get user public key

Get user singing public key by keyId. The requested key should be used to verify the signature of the requests that arrive at your server.

JavaScript
const keyRecord = await identityClient.getPublicKey('<key-id>');

console.log(keyRecord);

/*
{
  id: string; // same as key-id
  alg: 'Ed25519';
  key: Uint8Array; // public key raw bytes as Uint8Array
  subId: string; // subject (user) ID
}
*/

Verify user signature

JavaScript
import { Verifier } from '@zalter/identity';

const sig = new Uint8Array(0); // raw bytes of the signature
const dataToVerify = new Uint8Array(0); // raw bytes of the data signed
const keyRecord = {}; // result of `identityClient.getPublicKey()`

let isValid;

try {
  isValid = Verifier.verify(
    keyRecord.key,
    keyRecord.alg,
    sig,
    dataToVerify
  );
} catch (err) {
  console.error(err);
}

console.log(isValid); // boolean

Was this page helpful?