diff --git a/src/server/api/auth/index.js b/src/server/api/auth/index.js index 32f0632f..8f3a0368 100644 --- a/src/server/api/auth/index.js +++ b/src/server/api/auth/index.js @@ -1,26 +1,27 @@ import {Router} from 'express' import jwt from 'jsonwebtoken' import chalk from 'chalk' -// import validator from 'validator' +import {JWT_TOKEN} from 'common/api' +// Import validator from 'validator' // {isLength, trim, isAlphanumeric, escape} const router = Router() -// define the home page route +// Define the home page route router.post('/', (req, res) => { - // const {username, password} = req.body - // const usernameValidated = validator.isLength(0, 36).is - // const passwordValidated = - const data = {username: 'cool_username_for_testing'} - jwt.sign(data, process.env.JWT_SECRET, (err, token) => { - if (err) { - throw new Error( - `Cant create JWT token based on input data: ${JSON.stringify(data)}`, - err - ) - } - console.log(chalk.yellow(`Generated token for user: ${data.username}`)) - res.json({token}) - }) + // Const {username, password} = req.body + // const usernameValidated = validator.isLength(0, 36).is + // const passwordValidated = + const data = {username: 'cool_username_for_testing'} + jwt.sign(data, process.env.JWT_SECRET, {expiresIn: '7d'}, (err, token) => { + if (err) { + throw new Error( + `Cant create JWT token based on input data: ${JSON.stringify(data)}`, + err + ) + } + console.log(chalk.yellow(`Generated token for user: ${data.username}`)) + res.json({token}) + }) }) export default router diff --git a/src/server/express/index.js b/src/server/express/index.js index 117ca34f..95159a00 100644 --- a/src/server/express/index.js +++ b/src/server/express/index.js @@ -12,43 +12,45 @@ import {JWT_TOKEN} from 'common/api' const {DIST_PATH, JWT_SECRET} = process.env const app = express() -// add express stuff +// Add express stuff app.use(helmet()) app.use(compression()) app.use(morgan('dev')) app.use(cookieParser()) app.use( - express.static(DIST_PATH, { - // don't use index.html inside /dist dir - index: false - }) + express.static(DIST_PATH, { + // Don't use index.html inside /dist dir + index: false + }) ) app.use(bodyParser.json()) app.disable('x-powered-by') // Auth-related middleware, check that user is logged in and token is valid app.use((req, res, next) => { - req.user = {} - const token = req.cookies[JWT_TOKEN] - if (!token) { - return next() - } + req.user = {} + const token = req.cookies[JWT_TOKEN] + if (!token) { + return next() + } - jwt.verify(token, JWT_SECRET, (err, decoded) => { - if (err) { - console.log(chalk.red('CANT DECODE JWT TOKEN!', err)) - } else { - req.user = { - ...decoded, - token, - isLoggedIn: true - } - } - console.log( - chalk.blue(`USER IS LOGGED IN: ${req.user.isLoggedIn ? 'YES' : 'NO'}`) - ) - next() - }) + console.log(chalk.blue('USER HAS TOKEN')) + jwt.verify(token, JWT_SECRET, (err, decoded) => { + if (err) { + console.log(chalk.red('CANT DECODE JWT TOKEN!', err)) + } else { + console.log(chalk.magenta('TOKEN SUCCESSFULLY DECODED')) + req.user = { + ...decoded, + token, + isLoggedIn: true + } + } + console.log( + chalk.yellow(`USER IS LOGGED IN: ${req.user.isLoggedIn ? 'YES' : 'NO'}`) + ) + next() + }) }) export default app