fix/improved user info retention on signup/login forms
This commit is contained in:
1 parent
07b8325a14
commit
5b3d5cdce1
3 files changed
+23
-17
No files matched your search
@@ -59,18 +59,16 @@ app.get('/signup', (req, res) => {
|
|||||||
|
|
||||||
const ignore = ["User not found", "Incorrect password"];
|
const ignore = ["User not found", "Incorrect password"];
|
||||||
if (ignore.includes(error)) error = "";
|
if (ignore.includes(error)) error = "";
|
||||||
res.render('signup', { errMessage: error });
|
|
||||||
return res.status(status.Ok);
|
|
||||||
});
|
|
||||||
|
|
||||||
app.get('/signup/:name/:email', (req, res) => {
|
if (req.query.name && req.query.email) {
|
||||||
const ignore = ["User not found", "Incorrect password"];
|
res.render('signup', {
|
||||||
if (ignore.includes(req.session.errMessage)) req.session.errMessage = "";
|
errMessage: error,
|
||||||
res.render('signup', {
|
name: req.query.name,
|
||||||
errMessage: req.session.errMessage,
|
email: req.query.email
|
||||||
name: req.params.name,
|
});
|
||||||
email: req.params.email
|
} else {
|
||||||
});
|
res.render('signup', { errMessage: error });
|
||||||
|
}
|
||||||
return res.status(status.Ok);
|
return res.status(status.Ok);
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -79,7 +77,15 @@ app.get('/login', (req, res) => {
|
|||||||
res.redirect("/home");
|
res.redirect("/home");
|
||||||
return res.status(status.Ok);
|
return res.status(status.Ok);
|
||||||
}
|
}
|
||||||
res.render('login', { errMessage: req.session.errMessage });
|
|
||||||
|
if (req.query.email) {
|
||||||
|
res.render('login', {
|
||||||
|
errMessage: req.session.errMessage,
|
||||||
|
email: req.query.email
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
res.render('login', { errMessage: req.session.errMessage });
|
||||||
|
}
|
||||||
return res.status(status.Ok);
|
return res.status(status.Ok);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -43,13 +43,13 @@ module.exports = (users) => {
|
|||||||
if (!user) {
|
if (!user) {
|
||||||
req.session.errMessage = "User not found";
|
req.session.errMessage = "User not found";
|
||||||
res.status(status.NotFound);
|
res.status(status.NotFound);
|
||||||
return res.redirect("/login");
|
return res.redirect(`/login/?email=${req.body.email}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!bcrypt.compareSync(req.body.password, user.password)) {
|
if (!bcrypt.compareSync(req.body.password, user.password)) {
|
||||||
req.session.errMessage = "Incorrect password";
|
req.session.errMessage = "Incorrect password";
|
||||||
res.status(status.Unauthorized);
|
res.status(status.Unauthorized);
|
||||||
return res.redirect("/login");
|
return res.redirect(`/login/?email=${req.body.email}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
req.session.authenticated = true;
|
req.session.authenticated = true;
|
||||||
@@ -96,7 +96,7 @@ module.exports = (users) => {
|
|||||||
if (req.body.password != req.body.repassword) {
|
if (req.body.password != req.body.repassword) {
|
||||||
req.session.errMessage = "Passwords must match";
|
req.session.errMessage = "Passwords must match";
|
||||||
res.status(status.BadRequest);
|
res.status(status.BadRequest);
|
||||||
return res.redirect(`/signup/${req.body.name}/${req.body.email}`);
|
return res.redirect(`/signup/?name=${req.body.name}&email=${req.body.email}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
let strength = passwordStrength(req.body.password);
|
let strength = passwordStrength(req.body.password);
|
||||||
@@ -104,7 +104,7 @@ module.exports = (users) => {
|
|||||||
if (strength.id < 2) {
|
if (strength.id < 2) {
|
||||||
req.session.errMessage = `Password ${strength.value}`;
|
req.session.errMessage = `Password ${strength.value}`;
|
||||||
res.status(status.BadRequest);
|
res.status(status.BadRequest);
|
||||||
return res.redirect(`/signup/${req.body.name}/${req.body.email}`);
|
return res.redirect(`/signup/?name=${req.body.name}&email=${req.body.email}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
let hashedPassword = await bcrypt.hashSync(req.body.password, salt);
|
let hashedPassword = await bcrypt.hashSync(req.body.password, salt);
|
||||||
|
|||||||
+1
-1
@@ -11,7 +11,7 @@
|
|||||||
<label for="email" class="block text-base mb-2 text-slate-600">Email</label>
|
<label for="email" class="block text-base mb-2 text-slate-600">Email</label>
|
||||||
<input type="text" id="email" name="email"
|
<input type="text" id="email" name="email"
|
||||||
class="border border-slate-300 focus:border-indigo-500 w-full rounded-md text-base px-3 py-2 focus:outline-none focus:ring-1 focus:ring-indigo-500 transition-colors duration-200"
|
class="border border-slate-300 focus:border-indigo-500 w-full rounded-md text-base px-3 py-2 focus:outline-none focus:ring-1 focus:ring-indigo-500 transition-colors duration-200"
|
||||||
placeholder="Enter Email" />
|
placeholder="Enter Email" value="<%= typeof email != 'undefined' ? email : '' %>"/>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-4">
|
<div class="mt-4">
|
||||||
<label for="password" class="block text-base mb-2 text-slate-600">Password</label>
|
<label for="password" class="block text-base mb-2 text-slate-600">Password</label>
|
||||||
|
|||||||
Reference in new issue
Block a user