Advertisement
Guest User

Untitled

a guest
Aug 31st, 2016
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var express = require('express');
  2. var request = require('request');
  3. var passport = require('passport');
  4. var LocalStrategy = require('passport-local').Strategy;
  5. var config = require('../config.json');
  6. var router = express.Router();
  7.  
  8. router.get('/register', function(req, res) {
  9.   res.render('register');
  10. });
  11.  
  12. router.get('/login', function(req, res) {
  13.   res.render('login');
  14. });
  15.  
  16. passport.use(new LocalStrategy (function(username, password, done) {
  17.   request('http://terrapix.ca:7879/login?username=' + username + '&password=' + password +'&token=' + config.token, function(error, response, body) {
  18.  
  19.     if(error) {  return done(null, false, { message: 'Error connecting to server.' });  }
  20.     var json = JSON.parse(body);
  21.     if (json.status != 200) {  return done(null, false, { message: json.error });  }
  22.     return done(null, json.id);
  23.   });
  24. }));
  25.  
  26. passport.serializeUser(function(id, cb) {
  27.   cb(null, id);
  28. });
  29.  
  30. passport.deserializeUser(function(id, cb) {
  31.   request('http://terrapix.ca:7879/getuser?userid=' + id, function(error, response, body) {
  32.     if(error) {  cb(null, null); }
  33.     else { cb(null, JSON.parse(body).user); }
  34.   });
  35. });
  36.  
  37. router.post('/login',
  38.   passport.authenticate('local', {successRedirect:'/', failureRedirect:'/users/login',failureFlash: true}),
  39.     function(req, res) {
  40.       res.redirect('/');
  41. });
  42.  
  43. router.get('/logout', function(req, res) {
  44.   req.logout();
  45.   req.flash('success_msg', 'You are logged out');
  46.   res.redirect('/users/login');
  47. });
  48.  
  49. module.exports = router;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement