1
0
mirror of https://github.com/matt-fidd/stratos.git synced 2026-01-01 22:59:28 +00:00

Added route for password reset link

This commit is contained in:
2022-02-14 10:32:58 +00:00
parent b763ce893e
commit 51897544bf

View File

@@ -5,6 +5,8 @@ const router = express.Router();
const Account = require('../lib/Account'); const Account = require('../lib/Account');
const User = require('../lib/User'); const User = require('../lib/User');
const PasswordReset = require('../lib/PasswordReset');
const validator = require('../lib/validator'); const validator = require('../lib/validator');
router.get('/', (req, res) => { router.get('/', (req, res) => {
@@ -152,6 +154,32 @@ router.post('/password-reset', async (req, res) => {
return res.redirect('./login'); return res.redirect('./login');
}); });
router.get('/password-reset/:uuid/:token', async (req, res) => {
const uuid = req.params.uuid;
const URIToken = req.params.token;
const token = decodeURIComponent(URIToken);
let pr;
try {
pr = await new PasswordReset(uuid, token);
} catch(e) {
console.error(e);
return res.redirect('/password-reset');
}
const expired = new Date().getTime() > pr.expires * 1000;
if (expired) {
console.log('Password reset is invalid');
return res.redirect('/password-reset');
}
return res.render('change-password', {
uuid: uuid,
token: token
});
});
module.exports = { module.exports = {
root: '/', root: '/',
router: router router: router