Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const express = require("express");
- const authController = express.Router();
- // User model
- const User = require("../models/user");
- // Bcrypt to encrypt passwords
- const bcrypt = require("bcrypt");
- const bcryptSalt = 10;
- authController.get("/signup", (req, res, next) => {
- res.render("auth/signup");
- });
- authController.post("/signup", (req, res, next) => {
- var username = req.body.username;
- var password = req.body.password;
- if (username === "" || password === "") {
- res.render("auth/signup", {
- errorMessage: "Indicate a username and a password to sign up"
- });
- return;
- }
- User.findOne({ "username": username }, "username", (err, user) => {
- if (user !== null) {
- res.render("auth/signup", {
- errorMessage: "The username already exists"
- });
- return;
- }
- var salt = bcrypt.genSaltSync(bcryptSalt);
- var hashPass = bcrypt.hashSync(password, salt);
- var newUser = User({
- username,
- password: hashPass
- });
- newUser.save((err) => {
- if (err) {
- res.render("auth/signup", {
- errorMessage: "Something went wrong when signing up"
- });
- } else {
- // User has been created...now what?
- }
- });
- });
- });
- module.exports = authController;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement