Advertisement
Guest User

Untitled

a guest
Feb 4th, 2018
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.44 KB | None | 0 0
  1. const express = require("express");
  2. const authController = express.Router();
  3.  
  4. // User model
  5. const User = require("../models/user");
  6.  
  7. // Bcrypt to encrypt passwords
  8. const bcrypt = require("bcrypt");
  9. const bcryptSalt = 10;
  10.  
  11. authController.get("/signup", (req, res, next) => {
  12. res.render("auth/signup");
  13. });
  14.  
  15. authController.post("/signup", (req, res, next) => {
  16. var username = req.body.username;
  17. var password = req.body.password;
  18.  
  19. if (username === "" || password === "") {
  20. res.render("auth/signup", {
  21. errorMessage: "Indicate a username and a password to sign up"
  22. });
  23. return;
  24. }
  25.  
  26. User.findOne({ "username": username }, "username", (err, user) => {
  27. if (user !== null) {
  28. res.render("auth/signup", {
  29. errorMessage: "The username already exists"
  30. });
  31. return;
  32. }
  33.  
  34. var salt = bcrypt.genSaltSync(bcryptSalt);
  35. var hashPass = bcrypt.hashSync(password, salt);
  36.  
  37. var newUser = User({
  38. username,
  39. password: hashPass
  40. });
  41.  
  42. newUser.save((err) => {
  43. if (err) {
  44. res.render("auth/signup", {
  45. errorMessage: "Something went wrong when signing up"
  46. });
  47. } else {
  48. // User has been created...now what?
  49. }
  50. });
  51. });
  52. });
  53.  
  54. module.exports = authController;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement