mirror of
https://github.com/matt-fidd/stratos.git
synced 2026-01-01 20:39:28 +00:00
Added route for password reset link
This commit is contained in:
@@ -5,6 +5,8 @@ const router = express.Router();
|
||||
|
||||
const Account = require('../lib/Account');
|
||||
const User = require('../lib/User');
|
||||
const PasswordReset = require('../lib/PasswordReset');
|
||||
|
||||
const validator = require('../lib/validator');
|
||||
|
||||
router.get('/', (req, res) => {
|
||||
@@ -152,6 +154,32 @@ router.post('/password-reset', async (req, res) => {
|
||||
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 = {
|
||||
root: '/',
|
||||
router: router
|
||||
|
||||
Reference in New Issue
Block a user