Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const passport = require('passport')
- const LocalStrategy = require('passport-local').Strategy
- const Users = require('./db').Users
- module.exports = function (passport) {
- console.log("passport is working");
- passport.serializeUser(function (users, done) {
- console.log("Serialize");
- done(null, users.id)
- })
- function findById(id, fn) {
- User.findOne(id).exec(function (err, user) {
- if (err) {
- return fn(null, null);
- } else {
- return fn(null, user);
- }
- });
- }
- passport.deserializeUser(function (id, done) {
- console.log("DeSerialize");
- findById(id, function (err, user) {
- console.log(user);
- done(err, user);
- });
- })
- passport.use(new LocalStrategy(
- function (username, password, done) {
- Users.findOne({ where: { username: username } },
- function (err, users) {
- if (err) { return done(err); }
- if (!users) {
- return done(null, false, { message: 'Incorrect username.' });
- }
- if (!users.validPassword(password)) {
- return done(null, false, { message: 'Incorrect password.' });
- }
- return done(null, users);
- });
- }
- ));
- }
- const db = new Sequelize(
- 'mydb',
- 'myuser',
- 'mypass',
- {
- dialect: 'mysql',
- host: 'localhost',
- pool: {
- max: 8,
- min: 0,
- aquire: 30000,
- idle: 10000
- },
- }
- );
- const Users = db.define('users', {
- email: {
- type: Sequelize.STRING,
- allowNull: false,
- unique: true
- },
- username: {
- type: Sequelize.STRING,
- allowNull: false,
- unique: true,
- },
- password: {
- type: Sequelize.STRING,
- allowNull: false,
- }
- })
- db.sync().then(() => console.log("Database is ready"))
- exports = module.exports = {
- db,
- Users
- }
- app.post('/login', passport.authenticate('local'),
- function(req, res) {
- res.send({
- url:'/profile',
- username:req.body.username
- });
- });
Add Comment
Please, Sign In to add comment