Advertisement
Guest User

Untitled

a guest
Jan 10th, 2018
222
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const passport = require('passport');
  2. const LocalStrategy = require('passport-local').Strategy;
  3.  
  4. const User = require('../models/user');
  5. const password = require('../helpers/password');
  6. const ep = require('../middleware/express-promise');
  7.  
  8. exports.index = (req, res) => {
  9.     res.send('{test}');
  10. }
  11.  
  12.  
  13. //--------------------------------------------------------------
  14. // create User
  15. //--------------------------------------------------------------
  16.  
  17. exports.createUser = ep.go(async (req, res) => {
  18.  
  19.     const username = req.body.username;
  20.     const password = req.body.password;
  21.  
  22.     // try {
  23.  
  24.  
  25.         console.log(username, password);
  26.        
  27.  
  28.         var newUser = new User({
  29.           name: 'connffor',
  30.           username: username,
  31.           password: password
  32.         });
  33.  
  34.  
  35.         const saveUser = await newUser.save();
  36.  
  37.  
  38.         return res.send(`${username}${password} - ${saveUser} - saved`);
  39.  
  40.  
  41. });
  42.  
  43.  
  44.  
  45. //--------------------------------------------------------------
  46. // Local logic function for passport.js
  47. //--------------------------------------------------------------
  48.  
  49. const localLogin = (username, password, done) => {
  50.  
  51.     console.log(hello);
  52.  
  53.   password.check(password, profile.get('password'), profile.get('salt'), profile.get('workFactor'), function(err, isAuth){
  54.  
  55.     if(isAuth){
  56.  
  57.       //update the profile work factor
  58.       if(profile.get('workFactor') < config.crypto.workFactor) {
  59.         // passwordUtils.updatePassword(username, password, config.crypto.workFactor);
  60.       }
  61.  
  62.       console.log('yes yes');
  63.  
  64.       done(null, profile);
  65.  
  66.     } else {
  67.  
  68.       done(null, false, {message: 'Incorrect Details'});
  69.  
  70.     }
  71.  
  72.   });
  73.  
  74. }
  75.  
  76.  
  77.  
  78. //--------------------------------------------------------------
  79. // Login in a user
  80. //--------------------------------------------------------------
  81.  
  82. exports.login = ep.go(async (req, res) => {
  83.  
  84.     const username = req.body.username;
  85.     const password = req.body.password;
  86.  
  87.     const user = await User.findOne({username: username});
  88.  
  89.     if (user === null) {
  90.         return res.json({err: 'Incorrect username or password'});
  91.     }
  92.  
  93.     passport.use(new LocalStrategy(localLogin));
  94.  
  95.     passport.serializeUser(function(user, done) {
  96.       done(null, user);
  97.     });
  98.  
  99.     passport.deserializeUser(function(obj, done) {
  100.       done(null, obj);
  101.     });
  102.  
  103.     passport.authenticate('local', {
  104.     successRedirect: '/admin/',
  105.     failureRedirect: '/admin/login/',
  106.     failureFlash: true
  107.   })
  108.  
  109. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement