Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var config = require('config').sequelize;
- var Sequelize = require('sequelize');
- var log = require('npmlog');
- log.info('connecting to Postgres');
- var sequelize = new Sequelize(config.database, config.username,
- config.password, {
- host: config.host,
- dialect: config.dialect,
- pool: config.pool,
- omitNull: true
- });
- var sequelize = require('../datastores/sequelize').sequelize;
- var DataTypes = require('sequelize');
- var Promise = require('bluebird');
- var UserAccount = sequelize.define('UserAccount', {
- id: {
- type: DataTypes.INTEGER,
- field: 'id',
- primaryKey: true,
- autoIncrement: true
- },email: {
- type: DataTypes.STRING,
- field: 'email',
- allowNull: false,
- unique: true
- }, password: {
- type: DataTypes.STRING,
- field: 'password',
- allowNull: true
- }, {
- freezeTableName: true,
- });
- Promise.promisifyAll(UserAccount);
- module.exports = UserAccount;
- const LocalStrategy = require('passport-local').Strategy;
- const User = require('../model/core/userAccount');
- const passport = require('passport');
- function validateLocalAuth(email, password, done) {
- User.findOne({ where: { email: email } })
- .then((user) => {
- if (user === null || user.password !== password) {
- return done(null, false, {message: 'User doesn't exist'});
- }
- return done(null, user);
- });
- }
- function localAuth() {
- return new LocalStrategy({
- usernameField: 'email',
- passwordField: 'password'
- }, validateLocalAuth);
- }
- passport.use(localAuth());
- var passport = require('passport');
- var User = require('../../model/core/userAccount');
- require('./localHandelr');
- passport.serializeUser(function(user, done) {
- done(null, user.id);
- });
- passport.deserializeUser(function(id, done) {
- User.find({where: {id: id}})
- .then(function(user) {
- done(null, user.dataValues);
- })
- });
- app.post('/api/login', passport.authenticate('local'), (req, res) => {
- req.session.user = req.user;
- res.cookie('user', JSON.stringify(req.user));
- res.redirect('/');
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement