Advertisement
Guest User

Untitled

a guest
Jul 23rd, 2016
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.97 KB | None | 0 0
  1. <form action="/signup" method="post">
  2. <div class="form-group">
  3. <label>Email</label>
  4. <input type="text" class="form-control" name="email">
  5. </div>
  6. <div class="form-group">
  7. <label>Password</label>
  8. <input type="password" class="form-control" name="password">
  9. </div>
  10.  
  11. <button type="submit" class="btn btn-warning btn-lg">Signup</button>
  12. </form>
  13.  
  14. const db = require('./sequelize');
  15.  
  16. const passport = require('passport'),
  17. LocalStrategy = require('passport-local').Strategy;
  18.  
  19. passport.serializeUser(function(user, done) {
  20. done(null, user.id);
  21. });
  22.  
  23. passport.deserializeUser(function(user, done) {
  24. db.User.findById(id, function(err, user) {
  25. done(err, user);
  26. });
  27. });
  28.  
  29. passport.use('local', new LocalStrategy({
  30. emailField : 'email',
  31. passwordField : 'password',
  32. passReqToCallback : true
  33. },
  34. function(email, password, done){
  35. process.nextTick(function() {
  36. // find a user whose email is the same as the forms email
  37. // we are checking to see if the user trying to login already exists
  38. db.User.findOne({ email : email }, function(err, user) {
  39. // if there are any errors, return the error
  40. if (err)
  41. return done(null, false, {message: err});
  42.  
  43. // check to see if theres already a user with that email
  44. if (user) {
  45. return done(null, false, {message: 'User already exists'});
  46. }
  47.  
  48. else {
  49. // if there is no user with that email
  50. // create the user
  51. db.User.create({
  52. email: email,
  53. password: password
  54. });
  55. return done(null, false, {message: 'User created'});
  56. }
  57. });
  58. });
  59. }
  60. ));
  61.  
  62. module.exports = passport;
  63.  
  64. const express = require('express');
  65. const http = require('http');
  66. const https = require('https');
  67. const sequelize = require('sequelize');
  68. const db = require('./config/sequelize');
  69. const querystring = require('querystring');
  70. const config = require('./config/config');
  71. const passport = require('./config/passport');
  72. const bodyParser = require( 'body-parser' );
  73.  
  74. const env = 'development';
  75.  
  76. const app = express();
  77.  
  78. const port = 3000;
  79.  
  80. app.use( bodyParser.urlencoded({ extended: true }) );
  81. app.use(passport.initialize());
  82. app.use(passport.session());
  83.  
  84. app.set('view engine', 'ejs');
  85.  
  86. app.listen(port);
  87.  
  88. app.post('/signup', function(req, res, next){
  89.  
  90. const user = req.body;
  91. passport.authenticate('local', function(err, user, info){
  92. if (err){
  93. res.send({success: false, message: 'authentication failed'});
  94. }
  95. else{
  96. console.log(info);
  97. res.json({message: "success"});
  98. }
  99. })(req, res, next)
  100. });
  101.  
  102. Executing (default): SELECT `id`, `username`, `email`, `password`, `createdAt`,
  103. `updatedAt` FROM `Users` AS `User` LIMIT 1;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement