NZCP.js
A JavaScript implementation of NZ COVID Pass verification, New Zealand’s proof of COVID-19 vaccination solution, written in TypeScript. All contributions welcome ?
We also have a Rust implementation available.
This library can be used for both in browser and Node.js.
Install
# NPM
npm i @vaxxnz/nzcp
# Yarn
yarn add @vaxxnz/nzcp
Demo
Usage
import { verifyPassURI } from "@vaxxnz/nzcp";
// Verify a New Zealand COVID-19 Pass
const result = await verifyPassURI("NZCP:/1/2KCEVIQEIVVWK6...");
Successful Verification
On successful verification of the given pass, the verifyPassURI
method returns the following result:
{
"success": true, // Verification Outcome
"violates": null, // Error object if code is invalid
"credentialSubject": { // Pass holder's details
"givenName": "Emily", // Pass holder's given name
"familyName": "Example", // Pass holder's family name
"dob": "01/01/1970" // Pass holder's date of birth
}
}
Unsuccessful Verification
On unsuccessful verification of the given pass, the verifyPassURI
method returns the following result:
{
"success": false, // Verification Outcome
"violates": { // Error information
"message": "Error..", // Friendly Error Message
"section": "0.0", // Section of official specs under violation
"link": "https://..", // Link to specifications breached
},
"credentialSubject": null // No pass holder data due to error
}
Advanced Parameters
To allow for flexibility in this library, verifyPassURIWithTrustedIssuers
method allows for additional parameters as documented below.
Custom Trusted Issuers
import { verifyPassURIWithTrustedIssuers } from "@vaxxnz/nzcp";
// An array of trusted issuers which work with the NZ COVID Pass - Technical Specification
// https://nzcp.covid19.health.nz/
const nzcpTrustedIssuers = ["did:web:nzcp.covid19.health.nz"];
const result = await verifyPassURIWithTrustedIssuers(
"NZCP:/1/2KCEVIQEIVVWK6...", // COVID-19 Pass to be verified
nzcpTrustedIssuers // Array of trusted issuers
);
NPM
Contribute
# Install dependencies
yarn install
# Use developer scripts
yarn lint
yarn test
yarn test-watch
yarn build-all