UNPKG

@chevre/domain

Version:

Chevre Domain Library for Node.js

45 lines (41 loc) 1.26 kB
import * as jwt from 'jsonwebtoken'; async function verifyMembershipToken(params: { token?: string; secret: string; }): Promise<any> { let result: any; const { secret, token } = params; if (typeof token === 'string' && token.length > 0) { try { result = await new Promise<any>((resolve, reject) => { jwt.verify( token, secret, { // issuer: credentials.jwt.issuer, // ...(Array.isArray(params.audience)) ? { audience: params.audience } : undefined }, (err, decoded: any) => { if (err instanceof Error) { reject(err); } else { resolve(decoded); } }); }); } catch (error) { throw error; } } else { throw new Error('Membership token'); } return result; } verifyMembershipToken({ token: 'xxx', secret: 'xxx' }) // tslint:disable-next-line:no-console .then(console.log) // tslint:disable-next-line:no-console .catch(console.error);