mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-17 00:40:14 +01:00
* fix: #546 issue with closing registration * refactor: change casing of controller files for consistency * fix: ensure registrationEnabled is sending a boolean value * refactor: modifications to openId code
39 lines
No EOL
950 B
JavaScript
39 lines
No EOL
950 B
JavaScript
const User = require('../../../models/User');
|
|
|
|
const loginController = async (req, res) => {
|
|
try {
|
|
const user = await User.findById(
|
|
req.user._id
|
|
);
|
|
|
|
// If user doesn't exist, return error
|
|
if (!user) { // typeof user !== User) { // this doesn't seem to resolve the User type ??
|
|
return res.status(400).json({ message: 'Invalid credentials' });
|
|
}
|
|
|
|
const token = req.user.generateToken();
|
|
const expires = eval(process.env.SESSION_EXPIRY);
|
|
|
|
// Add token to cookie
|
|
res.cookie(
|
|
'token',
|
|
token,
|
|
{
|
|
expires: new Date(Date.now() + expires),
|
|
httpOnly: false,
|
|
secure: process.env.NODE_ENV === 'production'
|
|
}
|
|
);
|
|
|
|
return res.status(200).send({ token, user });
|
|
} catch (err) {
|
|
console.log(err);
|
|
}
|
|
|
|
// Generic error messages are safer
|
|
return res.status(500).json({ message: 'Something went wrong' });
|
|
};
|
|
|
|
module.exports = {
|
|
loginController
|
|
}; |