UNPKG

@samouraiwallet/auth47

Version:
50 lines (36 loc) 1.21 kB
# @samouraiwallet/auth47 A JS implementation of the Auth47 protocol. This library uses ES Modules. Node.js v20 or later is required. Source code was written in Typescript. Type definitions are included in the published bundle. ## Usage ### Initialize a new instance for a Verifier using a HTTPS callback URI ```js import crypto from 'crypto' import { Auth47Verifier } from '@samouraiwallet/auth47'; const verifier = new Auth47Verifier('https://samourai.io/auth'); ``` ### Generate an Auth47URI for a given nonce ```js // Generate random nonce const nonce = crypto.randomBytes(12).toString('hex'); const uri = verifier.generateURI({'nonce': nonce}); console.log('URI generated:', uri); ``` ### Verify a proof ```js const proof_received = { 'auth47_response': '1.0', 'challenge': 'auth47://aerezerzerze23131d?r=https://samourai.io/auth', 'nym': 'PM8TJTLJbPRGxSbc8EJ...TzFcwQRya4GA', 'signature': 'Hyn9En/w5I2LHR...ct8mbFD86o=' }; // Verify the proof (use bitcoin network defined as default) const verifiedProof = verifier.verifyProof(proof_received); if (verifiedProof.result === 'ok') { console.log('Proof is valid'); } else { // log given error console.log(verifiedProof.error); } ```