Guest User

Untitled

a guest
Jul 15th, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.13 KB | None | 0 0
  1. var express = require("express"),
  2. mongoose = require("mongoose"),
  3. bodyParser = require("body-parser"),
  4. User = require("./models/user"),
  5. passport = require("passport"),
  6. LocalStrategy = require("passport-local"),
  7. passportLocalMongoose = require("passport-local-mongoose");
  8.  
  9. mongoose.connect("mongodb://localhost:27017/auth_demo_app", { useNewUrlParser: true });
  10. var app = express();
  11. app.set("view engine","ejs");
  12. app.use(bodyParser.urlencoded({ extended: true }));
  13. app.use(require("express-session")({
  14. secret:"Miss white is my cat",
  15. resave: false,
  16. saveUninitialized: false
  17. }));
  18.  
  19. app.use(passport.initialize());
  20. app.use(passport.session());
  21.  
  22. passport.use(new LocalStrategy(User.authenticate()));
  23. passport.serializeUser(User.serializeUser());
  24. passport.deserializeUser(User.deserializeUser());
  25.  
  26. // ===================
  27. // ROUTES
  28. // ===================
  29.  
  30.  
  31.  
  32. app.get("/",function(req, res){
  33. res.render("home");
  34. });
  35.  
  36. app.get("/secret", isLoggedIn, function(req, res){
  37. res.render("secret");
  38. });
  39.  
  40. app.get("/register", function(req, res){
  41. res.render("register");
  42. });
  43.  
  44. // handeling user sign up
  45. app.post("/register", function(req, res){
  46. // console.log(req.body.username);
  47. // console.log(req.body.password);
  48. User.register(new User({username: req.body.username}), req.body.password, function(err, user){
  49. if(err){
  50. console.log(err);
  51. return res.render("register");
  52. }
  53. passport.authenticate("local")(req, res, function(){
  54. res.redirect("/secret");
  55. });
  56. });
  57. });
  58.  
  59. // Login Form
  60. app.get("/login", function(req, res){
  61. res.render("login");
  62. });
  63.  
  64. // Login Logic
  65. // middleware
  66. app.post("/login", passport.authenticate("local",{
  67. successRedirect: "/secret",
  68. failureRedirect: "/login"
  69. }), function(req, res){
  70.  
  71. });
  72.  
  73. // Logout
  74. app.get("/logout", function(req, res){
  75. req.logout();
  76. res.redirect("/");
  77. });
  78.  
  79. // check isLoggedIn
  80. function isLoggedIn(req, res, next){
  81. if(req.isAuthenticated()){
  82. return next();
  83. }
  84. res.redirect("/login");
  85. }
  86.  
  87.  
  88. app.listen(process.env.PORT, process.env.IP, function(){
  89. console.log("app started!!!")
  90. });
Add Comment
Please, Sign In to add comment