Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var bodyParser = require('body-parser');
- var passport = require('passport');
- var session = require('express-session');
- module.exports = function (app) {
- //BodyParser
- app.use(bodyParser.urlencoded({ extended: true }));
- app.use(bodyParser.json());
- //Passport
- app.use(session({ secret: 'keyboard cat', resave: true, saveUninitialized: true }));
- app.use(passport.initialize());
- app.use(passport.session()); // persistent login sessions
- app.post('/registered', function (req, res) {
- console.log(req.body);
- res.end();
- });
- }
- module.exports = function (sequelize, Sequelize) {
- var User = sequelize.define('user', {
- id: {
- autoIncrement: true,
- primaryKey: true,
- type: Sequelize.INTEGER
- },
- firstname: {
- type: Sequelize.STRING,
- notEmpty: true
- },
- lastname: {
- type: Sequelize.STRING,
- notEmpty: true
- },
- email: {
- type: Sequelize.STRING,
- validate: {
- isEmail: true
- }
- },
- password: {
- type: Sequelize.STRING,
- allowNull: false
- },
- password_confirmation: {
- type: Sequelize.STRING,
- allowNull: false
- }
- });
- return User;
- var bCrypt = require('bcrypt-nodejs');
- module.exports = function(passport, user) {
- var User = user;
- var LocalStrategy = require('passport-local').Strategy;
- passport.use('local-registered', new LocalStrategy(
- {
- usernameField: 'email',
- passwordField: 'password',
- passReqToCallback: true // allows us to pass back the entire request to the callback
- },
- function(req, email, password, done) {
- var generateHash = function(password) {
- return bCrypt.hashSync(password, bCrypt.genSaltSync(8), null);
- };
- User.findOne({
- where: {
- email: email
- }
- }).then(function(user) {
- if (user)
- {
- return done(null, false, {
- message: 'That email is already taken'
- });
- } else
- {
- var userPassword = generateHash(password);
- var data =
- {
- email: email,
- password: userPassword,
- firstname: req.body.firstname,
- lastname: req.body.lastname
- };
- User.create(data).then(function(newUser, created) {
- if (!newUser) {
- return done(null, false);
- }
- if (newUser) {
- return done(null, newUser);
- }
- });
- }
- });
- }
- ));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement