UNPKG

@unito/integration-sdk

Version:

Integration SDK

24 lines (23 loc) 870 B
import { BadRequestError } from '../httpErrors.js'; const CREDENTIALS_HEADER = 'X-Unito-Credentials'; function extractCredentials(req, res, next) { const credentialsHeader = req.header(CREDENTIALS_HEADER); if (credentialsHeader) { let credentials; try { credentials = JSON.parse(Buffer.from(credentialsHeader, 'base64').toString('utf8')); } catch { throw new BadRequestError(`Malformed HTTP header ${CREDENTIALS_HEADER}`); } res.locals.credentials = credentials; if (credentials.unitoCredentialId) { res.locals.logger?.decorate({ credentialId: credentials.unitoCredentialId }); } if (credentials.unitoUserId) { res.locals.logger?.decorate({ userId: credentials.unitoUserId }); } } next(); } export default extractCredentials;