Advertisement
Guest User

Untitled

a guest
Sep 12th, 2017
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /**
  2.  * Created by davidmota on 09/09/17.
  3.  * */
  4.  
  5. let users = [{"id":111, "username":"david", "password":"mota"}];
  6. let express = require('express');
  7. let app = express();
  8. let session = require('express-session');
  9. let passport = require('passport'), LocalStrategy = require('passport-local').Strategy;
  10. let path = require('path');
  11. let flash = require('connect-flash');
  12. app.use(require('serve-static')(__dirname + '/public'));
  13. app.use(require('cookie-parser')());
  14. app.use(require('body-parser').urlencoded({ extended: true }));
  15. app.use(require('express-session')({ secret: 'keyboard cat', resave: true, saveUninitialized: true }));
  16. app.use(passport.initialize());
  17. app.use(passport.session());
  18. app.use(flash());
  19. passport.use(new LocalStrategy(
  20.     function (username, password, done) {
  21.         if (username === users[0].username && password === users[0].password) {
  22.             return done(null, users[0]);
  23.         } else {
  24.             console.log("chegou aqui");
  25.             return done(null, false, {"message": "User not found."});
  26.         }
  27.     })
  28. );
  29.  
  30. passport.serializeUser(function (user, done) {
  31.     done(null, users[0].id);
  32. });
  33. passport.deserializeUser(function (id, done) {
  34.     done(null, users[0]);
  35. });
  36.  
  37.  
  38. // app.use(express.static(path.join(__dirname, 'public')));
  39. // route middleware to ensure user is logged in
  40. function isLoggedIn(req, res, next) {
  41.     if (req.isAuthenticated())
  42.         return next();
  43.  
  44.     res.sendStatus(401);
  45. }
  46. app.get("/", function (req, res) {
  47.     res.send("Hello!");
  48. });
  49.  
  50. // api endpoints for login, content and logout
  51. app.get("/login", function (req, res) {
  52.     res.send("<p>Please login!</p><form method='post' action='/login'><input type='text' name='username'/><input type='password' name='password'/><button type='submit' value='submit'>Submit</buttom></form>");
  53. });
  54. app.post("/login",
  55.     passport.authenticate("local", { failureRedirect: "/login"}),
  56.     function (req, res) {
  57.         req.flash('info', 'Flash is back!');
  58.         res.redirect("/content");
  59.     });
  60. app.get("/content", isLoggedIn, function (req, res) {
  61.     res.send("Congratulations! you've successfully logged in.");
  62. });
  63. app.get("/logout", function (req, res) {
  64.     req.logout();
  65.     res.send("logout success!");
  66. });
  67.  
  68. app.get("/logout", function (req, res) {
  69.     req.logout();
  70.     res.send("logout success!");
  71. });
  72.  
  73. app.listen('3000', () => {
  74.     console.log('Pronto!')
  75. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement