Advertisement
Guest User

Untitled

a guest
May 30th, 2016
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.53 KB | None | 0 0
  1. //Mongoose Setup
  2. var mongoose = require('mongoose');
  3. var Schema = mongoose.Schema;
  4. mongoose.connect("MY_DB");
  5. var path = require('path');
  6. var appDir = path.dirname(require.main.filename);
  7. var bodyParser = require('body-parser')
  8. var User = require('../models/user.js');
  9. var passport = require('passport');
  10. var LocalStrategy = require('passport-local');
  11. var uuid = require('node-uuid');
  12. var cookieParser = require('cookie-parser');
  13. //Express Setup
  14. var express = require('express');
  15. var router = express.Router();
  16. var app = express();
  17. var expressValidator = require("express-validator");
  18. var session = require('express-session');
  19. app.use(bodyParser.urlencoded({ extended: false }));
  20. app.use(expressValidator());
  21. app.use(bodyParser.json());
  22. app.use(cookieParser());
  23. app.use(session({secret: '_secret_', cookie: { maxAge: 60 * 60 * 1000 }, saveUninitialized: false, resave: false}))
  24. //Routes
  25. router.get('/register', function(req, res){
  26. res.sendFile(appDir + "/views/register.html");
  27. })
  28. router.post('/register', function(req, res) {
  29. req.check('name', 'Name must be Filled in').notEmpty();
  30. req.check('email', 'Email must be Filled in').notEmpty();
  31. req.check('email', "Invalid Email").isEmail();
  32. req.check('password', 'Password Field must be Filled in').notEmpty();
  33. req.check('password', 'Passwords do not Match').equals(req.body.password2)
  34. var errors = req.validationErrors();
  35. if(errors) res.send(errors)
  36. else{
  37. var newUser = new User({
  38. name: req.body.name,
  39. email: req.body.email,
  40. password: req.body.password,
  41. info: req.body.user_bio
  42. });
  43. User.createUser(newUser, function(err, user){
  44. if(err) throw err;
  45. });
  46. res.redirect('../')
  47. }
  48. })
  49. router.get('/login', function(req, res){
  50. res.sendFile(appDir + "/views/login.html");
  51. })
  52. router.post('/login', function(req, res){
  53. var email = req.body.email;
  54. var candidatePass = req.body.password;
  55. User.findOne({ 'email': email }, 'password id', function (err, user) {
  56. if (err) return handleError(err);
  57. User.checkPassword(candidatePass, user.password, function(err, isMatch){
  58. if(err) throw err;
  59. if(!isMatch) res.end('Password Incorrect!');
  60. else{
  61. req.session.userId = user.id;
  62. res.redirect('../');
  63. }
  64. })
  65. })
  66. })
  67. //Exports
  68. module.exports = router;
  69.  
  70. var express = require('express');
  71. var session = require('express-session');
  72. var app = express();
  73. var uuid = require('node-uuid');
  74. var bodyParser = require('body-parser');
  75.  
  76. app.use(bodyParser.urlencoded({ extended: false }));
  77. app.use(bodyParser.json());
  78.  
  79. // Use the session middleware
  80. app.use(session({
  81. secret: 'jaredasch',
  82. cookie: { maxAge: 60 * 60 * 1000 },
  83. saveUninitialized: false,
  84. resave: false
  85. }))
  86.  
  87. // Access the session as req.session
  88. app.get('/', function(req, res, next) {
  89. var sess = req.session
  90. if (sess.uuid) {
  91. res.setHeader('Content-Type', 'text/html');
  92. res.write('<p>Session UUID: ' + sess.uuid + '</p>');
  93. res.write('<p>expires in: ' + (sess.cookie.maxAge / 1000) + 's</p>');
  94. res.write('<form method = 'POST'action = '/'><button type = 'submit'></form>');
  95. res.end()
  96. } else {
  97. sess.uuid = uuid.v4();
  98. res.setHeader('Content-Type', 'text/html');
  99. res.write('Set Up Session n')
  100. res.write('<p>Session UUID: ' + sess.uuid + '</p>');
  101. res.end('<p>expires in: ' + (sess.cookie.maxAge / 1000) + 's</p>');
  102. }
  103. })
  104.  
  105. app.post('/', function(req,res){
  106. req.session.destroy(function(err) {
  107. if(err) throw err;
  108. console.log('Session Destroyed')
  109. })
  110. res.redirect('/');
  111. })
  112.  
  113. app.listen(3000, function(){
  114. console.log('Listening on Port 3000')
  115. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement