Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var express = require('express');
- var router = express.Router();
- var passport = require('passport');
- var User = require('../models/User');
- var nodemailer = require('nodemailer');
- // Check if user is authed
- function isAuthenticated(req, res, next) {
- console.log('USER AUTHED? ', req.isAuthenticated());
- if (req.isAuthenticated()) {
- res.json({authed: true, user: req.user});
- next();
- } else {
- res.json({authed: false});
- }
- }
- // Passport
- passport.serializeUser(function (user, cb) {
- cb(null, user);
- });
- passport.deserializeUser(function (obj, cb) {
- cb(null, obj);
- });
- router.use(passport.initialize());
- router.use(passport.session());
- /* GET users listing. */
- router.post('/signup', function (req, res, next) {
- User.register(new User({ username: req.body.username }), req.body.password, function (err, user) {
- if (err) {
- res.json({ err: err });
- }
- // saving user details
- user.firstName = req.body.firstName;
- user.lastName = req.body.lastName;
- user.email = req.body.email;
- user.subscribe = req.body.subscribe;
- user.save(function (err) {
- // Save user details
- });
- if (user.subscribe === true) {
- let transporter = nodemailer.createTransport({
- service: 'gmail',
- auth: {
- user: 'tenkaklet@gmail.com',
- pass: 'Aaadktda:gmail'
- }
- });
- const mailOptions = {
- from: 'tenkaklet@gmail.com',
- to: user.email,
- subject: 'Welcome to TenkShop!',
- html: `
- <h1 style="font-family: sans-serif; color: red;">Welcome to TenkShop!</h1>
- <p style="font-family: sans-serif;">Glad you're able to make the right choice of buying some cool clothes!</p>
- `
- };
- transporter.sendMail(mailOptions, function (err, info) {
- if (err) {
- console.log('err', err);
- } else {
- console.log('info ', info);
- }
- });
- }
- passport.authenticate('local')(req, res, function () {
- req.session.save(function (err) {
- if (err) {
- return next(err);
- }
- res.json({ created: true, redirect: '/' });
- });
- });
- });
- });
- router.post('/login', passport.authenticate('local'), function (req, res, next) {
- res.status(200).json({
- redirect: '/'
- });
- });
- router.get('/secure', isAuthenticated, function (req, res, next) {
- console.log('in secure');
- });
- router.get('/logout', function (req, res, next) {
- req.logout();
- res.redirect('/');
- });
- module.exports = router;
Add Comment
Please, Sign In to add comment