const crypto = require('crypto');
const passport = require('./passportMiddleware');
/**
* Generate a random token for user authentication.
* @returns {string} A randomly generated token.
*/
function generateToken() {
return crypto.randomBytes(64).toString('hex');
}
// middleware function to authenticate requests
const authenticateToken = (req, res, next) => {
passport.authenticate('bearer', { session: false }, (err, user, info) => {
if (err) { return next(err); }
if (!user) {
return res.status(401).json({ success: false, message: 'Unauthorized: Invalid token' });
}
req.user = user;
next();
})(req, res, next);
};
module.exports = {
authenticateToken,
generateToken
};