UNPKG

payload

Version:

Node, React, Headless CMS and Application Framework built on Next.js

28 lines (27 loc) 877 B
// @ts-strict-ignore import crypto from 'crypto'; import scmp from 'scmp'; export const authenticateLocalStrategy = async ({ doc, password })=>{ try { const { hash, salt } = doc; if (typeof salt === 'string' && typeof hash === 'string') { const res = await new Promise((resolve, reject)=>{ crypto.pbkdf2(password, salt, 25000, 512, 'sha256', (e, hashBuffer)=>{ if (e) { reject(null); } if (scmp(hashBuffer, Buffer.from(hash, 'hex'))) { resolve(doc); } else { reject(null); } }); }); return res; } return null; } catch (err) { return null; } }; //# sourceMappingURL=authenticate.js.map