@georgiancollege/express-mvc
Version:
Express MVC @ Georgian College
28 lines (25 loc) • 653 B
text/typescript
import jwt from 'jsonwebtoken';
import db from '../Config/db';
/**
* Convenience function to generate a JWT token
*
* @export
* @param {UserDocument} user
* @returns {string}
*/
export function GenerateToken(user: UserDocument): string
{
const payload =
{
id: user._id,
DisplayName: user.displayName,
username: user.username,
EmailAddress: user.emailAddress
}
const jwtOptions =
{
expiresIn: 604800 // 1 week
// Note: this may be made considerably shorter for security purposes
}
return jwt.sign(payload, db.sessionSecret, jwtOptions);
}