Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var express = require('express');
- var request = require('request');
- var passport = require('passport');
- var LocalStrategy = require('passport-local').Strategy;
- var config = require('../config.json');
- var router = express.Router();
- router.get('/register', function(req, res) {
- res.render('register');
- });
- router.get('/login', function(req, res) {
- res.render('login');
- });
- passport.use(new LocalStrategy (function(username, password, done) {
- request('http://terrapix.ca:7879/login?username=' + username + '&password=' + password +'&token=' + config.token, function(error, response, body) {
- if(error) { return done(null, false, { message: 'Error connecting to server.' }); }
- var json = JSON.parse(body);
- if (json.status != 200) { return done(null, false, { message: json.error }); }
- return done(null, json.id);
- });
- }));
- passport.serializeUser(function(id, cb) {
- cb(null, id);
- });
- passport.deserializeUser(function(id, cb) {
- request('http://terrapix.ca:7879/getuser?userid=' + id, function(error, response, body) {
- if(error) { cb(null, null); }
- else { cb(null, JSON.parse(body).user); }
- });
- });
- router.post('/login',
- passport.authenticate('local', {successRedirect:'/', failureRedirect:'/users/login',failureFlash: true}),
- function(req, res) {
- res.redirect('/');
- });
- router.get('/logout', function(req, res) {
- req.logout();
- req.flash('success_msg', 'You are logged out');
- res.redirect('/users/login');
- });
- module.exports = router;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement