Guest User

Untitled

a guest
Apr 3rd, 2018
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.92 KB | None | 0 0
  1. const passport = require('passport')
  2. const LocalStrategy = require('passport-local').Strategy
  3. const Users = require('./db').Users
  4.  
  5. module.exports = function (passport) {
  6. console.log("passport is working");
  7.  
  8. passport.serializeUser(function (users, done) {
  9. console.log("Serialize");
  10. done(null, users.id)
  11. })
  12.  
  13. function findById(id, fn) {
  14. User.findOne(id).exec(function (err, user) {
  15.  
  16. if (err) {
  17. return fn(null, null);
  18. } else {
  19. return fn(null, user);
  20. }
  21. });
  22. }
  23.  
  24. passport.deserializeUser(function (id, done) {
  25. console.log("DeSerialize");
  26. findById(id, function (err, user) {
  27. console.log(user);
  28. done(err, user);
  29. });
  30. })
  31.  
  32. passport.use(new LocalStrategy(
  33. function (username, password, done) {
  34. Users.findOne({ where: { username: username } },
  35. function (err, users) {
  36. if (err) { return done(err); }
  37. if (!users) {
  38. return done(null, false, { message: 'Incorrect username.' });
  39. }
  40. if (!users.validPassword(password)) {
  41. return done(null, false, { message: 'Incorrect password.' });
  42. }
  43. return done(null, users);
  44. });
  45. }
  46. ));
  47. }
  48.  
  49. const db = new Sequelize(
  50. 'mydb',
  51. 'myuser',
  52. 'mypass',
  53. {
  54. dialect: 'mysql',
  55. host: 'localhost',
  56. pool: {
  57. max: 8,
  58. min: 0,
  59. aquire: 30000,
  60. idle: 10000
  61. },
  62. }
  63. );
  64.  
  65. const Users = db.define('users', {
  66. email: {
  67. type: Sequelize.STRING,
  68. allowNull: false,
  69. unique: true
  70. },
  71. username: {
  72. type: Sequelize.STRING,
  73. allowNull: false,
  74. unique: true,
  75. },
  76. password: {
  77. type: Sequelize.STRING,
  78. allowNull: false,
  79. }
  80.  
  81. })
  82.  
  83.  
  84. db.sync().then(() => console.log("Database is ready"))
  85.  
  86. exports = module.exports = {
  87. db,
  88. Users
  89. }
  90.  
  91. app.post('/login', passport.authenticate('local'),
  92. function(req, res) {
  93. res.send({
  94. url:'/profile',
  95. username:req.body.username
  96. });
  97. });
Add Comment
Please, Sign In to add comment