SQUASH: I think I got it working

This commit is contained in:
2021-07-29 00:36:20 +10:00
parent 6b3db67a29
commit b51d22f1a1
4 changed files with 49 additions and 44 deletions
+3 -3
View File
@@ -25,13 +25,13 @@ const route = async (req, res) => {
} }
//save the token //save the token
recovery.upsert({ await recovery.upsert({
email: req.body.email, email: req.body.email,
token: token token: token
}); });
//finally //finally
res.status(200).send("Validation email sent!"); res.status(200).send("Recovery email sent!");
return null; return null;
}; };
@@ -57,7 +57,7 @@ const validateDetails = async (body) => {
}; };
const sendRecoveryEmail = async (email, token) => { const sendRecoveryEmail = async (email, token) => {
const addr = `${process.env.WEB_PROTOCOL}://${process.env.WEB_ADDRESS}/auth/validation?token=${token}`; const addr = `${process.env.WEB_PROTOCOL}://${process.env.WEB_ADDRESS}/auth/reset?token=${token}`;
const msg = `Hello, const msg = `Hello,
Please visit the following link to reset your password: ${addr} Please visit the following link to reset your password: ${addr}
+5 -3
View File
@@ -3,8 +3,10 @@ const { accounts, recovery } = require('../database/models');
//auth/reset //auth/reset
const route = async (req, res) => { const route = async (req, res) => {
//verify the recovery record exists //verify the recovery record exists
const record = recovery.findOne({ const record = await recovery.findOne({
token: req.query.token where: {
token: req.query.token
}
}); });
if (!record) { if (!record) {
@@ -12,7 +14,7 @@ const route = async (req, res) => {
} }
//redirect to the front-end //redirect to the front-end
res.redirect(`${process.env.WEB_PROTOCOL}${process.env.WEB_RESET_ADDRESS}?email=${record.email}&token=${record.token}`); res.redirect(`${process.env.WEB_PROTOCOL}://${process.env.WEB_RESET_ADDRESS}?email=${record.email}&token=${record.token}`);
return null; return null;
}; };
+9 -6
View File
@@ -15,7 +15,7 @@ const route = async (req, res) => {
const hash = await bcrypt.hash(req.body.password, await bcrypt.genSalt(11)); const hash = await bcrypt.hash(req.body.password, await bcrypt.genSalt(11));
//update the account data //update the account data
accounts.update({ await accounts.update({
hash: hash hash: hash
}, { }, {
where: { where: {
@@ -24,20 +24,23 @@ const route = async (req, res) => {
}) })
//delete from the recovery table //delete from the recovery table
recovery.destroy({ await recovery.destroy({
where: { where: {
email: req.query.email email: req.query.email
} }
}); });
res.status(200).end();
return null; return null;
}; };
const validateDetails = async (query, body) => { const validateDetails = async (query, body) => {
//verify the recovery record exists //verify the recovery record exists
const record = recovery.findOne({ const record = await recovery.findOne({
email: query.email, where: {
token: query.token email: query.email,
token: query.token
}
}); });
if (!record) { if (!record) {
@@ -56,4 +59,4 @@ const validateDetails = async (query, body) => {
return null; return null;
}; };
module.exports = route; module.exports = route;
+32 -32
View File
@@ -1,32 +1,32 @@
//environment variables //environment variables
require('dotenv').config(); require('dotenv').config();
//create the server //create the server
const express = require('express'); const express = require('express');
const app = express(); const app = express();
const server = require('http').Server(app); const server = require('http').Server(app);
const cors = require('cors'); const cors = require('cors');
//config //config
app.use(express.json()); app.use(express.json());
app.use(cors()); app.use(cors());
//database connection //database connection
const database = require('./database'); const database = require('./database');
//access the admin //access the admin
app.use('/admin', require('./admin')); app.use('/admin', require('./admin'));
//access the auth //access the auth
app.use('/auth', require('./auth')); app.use('/auth', require('./auth'));
//error on access //error on access
app.get('*', (req, res) => { app.get('*', (req, res) => {
res.redirect('https://github.com/krgamestudios/auth-server'); res.redirect('https://github.com/krgamestudios/auth-server');
}); });
//startup //startup
server.listen(process.env.WEB_PORT || 3200, async (err) => { server.listen(process.env.WEB_PORT || 3200, async (err) => {
await database.sync(); await database.sync();
console.log(`listening to localhost:${process.env.WEB_PORT || 3200}`); console.log(`listening to localhost:${process.env.WEB_PORT || 3200}`);
}); });