Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <form action="/signup" method="post">
- <div class="form-group">
- <label>Email</label>
- <input type="text" class="form-control" name="email">
- </div>
- <div class="form-group">
- <label>Password</label>
- <input type="password" class="form-control" name="password">
- </div>
- <button type="submit" class="btn btn-warning btn-lg">Signup</button>
- </form>
- const db = require('./sequelize');
- const passport = require('passport'),
- LocalStrategy = require('passport-local').Strategy;
- passport.serializeUser(function(user, done) {
- done(null, user.id);
- });
- passport.deserializeUser(function(user, done) {
- db.User.findById(id, function(err, user) {
- done(err, user);
- });
- });
- passport.use('local', new LocalStrategy({
- emailField : 'email',
- passwordField : 'password',
- passReqToCallback : true
- },
- function(email, password, done){
- process.nextTick(function() {
- // find a user whose email is the same as the forms email
- // we are checking to see if the user trying to login already exists
- db.User.findOne({ email : email }, function(err, user) {
- // if there are any errors, return the error
- if (err)
- return done(null, false, {message: err});
- // check to see if theres already a user with that email
- if (user) {
- return done(null, false, {message: 'User already exists'});
- }
- else {
- // if there is no user with that email
- // create the user
- db.User.create({
- email: email,
- password: password
- });
- return done(null, false, {message: 'User created'});
- }
- });
- });
- }
- ));
- module.exports = passport;
- const express = require('express');
- const http = require('http');
- const https = require('https');
- const sequelize = require('sequelize');
- const db = require('./config/sequelize');
- const querystring = require('querystring');
- const config = require('./config/config');
- const passport = require('./config/passport');
- const bodyParser = require( 'body-parser' );
- const env = 'development';
- const app = express();
- const port = 3000;
- app.use( bodyParser.urlencoded({ extended: true }) );
- app.use(passport.initialize());
- app.use(passport.session());
- app.set('view engine', 'ejs');
- app.listen(port);
- app.post('/signup', function(req, res, next){
- const user = req.body;
- passport.authenticate('local', function(err, user, info){
- if (err){
- res.send({success: false, message: 'authentication failed'});
- }
- else{
- console.log(info);
- res.json({message: "success"});
- }
- })(req, res, next)
- });
- Executing (default): SELECT `id`, `username`, `email`, `password`, `createdAt`,
- `updatedAt` FROM `Users` AS `User` LIMIT 1;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement