UNPKG

citi-casher-session-engine

Version:

Module for multiple authentication methods for CITI Casher, deviceID and aurum

28 lines (23 loc) 937 B
const device = (server, options) => { return { authenticate: async (request, h) => { const { headers } = request; const device = headers["device-id"]; console.log("Aurum schema strategy", device); if (!device) { throw Boom.unauthorized("Missing authentication"); } // Aquí puedes añadir tu lógica de validación del token // Por ejemplo, decodificar un JWT, buscar el token en la base de datos, etc. //const isValid = validateToken(token); // Implementa esta función según tu lógica const isValid = true; if (!isValid) { throw Boom.unauthorized("Invalid device"); } // Si la validación es exitosa, continúa con el request // Puedes adjuntar información al request.auth.credentials si es necesario return h.authenticated({ credentials: { device } }); }, }; }; module.exports = device;