UNPKG

@mark01/express-utils

Version:

npm package that contains utilities for express.js

20 lines (19 loc) 790 B
export const createBasicAuth = (username, password) => { const credentials = `${username}:${password}`; const encoded = Buffer.from(credentials).toString('base64'); return `Basic ${encoded}`; }; export const parseBasicAuth = (auth) => { const [, credentials] = auth.split('Basic '); if (!credentials) { throw new TypeError('parseBasicAuth: Invalid Basic authentication scheme!'); } const decoded = Buffer.from(credentials, 'base64').toString('utf-8'); const separator = decoded.indexOf(':'); if (separator === -1) { throw new TypeError('parseBasicAuth: Invalid Basic authentication scheme!'); } const username = decoded.slice(0, separator); const password = decoded.slice(separator + 1); return { username, password }; };