mirror of
https://github.com/Ylianst/MeshCentral.git
synced 2025-03-09 15:40:18 +00:00
Added 2FA timeout on login screen, default is 5 minutes.
This commit is contained in:
parent
552520cdc0
commit
21aabc676d
6 changed files with 27 additions and 3 deletions
15
webserver.js
15
webserver.js
|
@ -1018,6 +1018,12 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
|
|||
|
||||
// Check if this user has 2-step login active
|
||||
if ((req.session.loginmode != 6) && checkUserOneTimePasswordRequired(domain, user, req, loginOptions)) {
|
||||
if ((req.body.hwtoken == '**timeout**')) {
|
||||
delete req.session; // Clear the session
|
||||
res.redirect(domain.url + getQueryPortion(req));
|
||||
return;
|
||||
}
|
||||
|
||||
if ((req.body.hwtoken == '**email**') && email2fa) {
|
||||
user.otpekey = { k: obj.common.zeroPad(getRandomEightDigitInteger(), 8), d: Date.now() };
|
||||
obj.db.SetUser(user);
|
||||
|
@ -2879,6 +2885,12 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
|
|||
var customui = '';
|
||||
if (domain.customui != null) { customui = encodeURIComponent(JSON.stringify(domain.customui)); }
|
||||
|
||||
// Get two-factor screen timeout
|
||||
var twoFactorTimeout = 300000; // Default is 5 minutes, 0 for no timeout.
|
||||
if ((typeof domain.passwordrequirements == 'object') && (typeof domain.passwordrequirements.twofactortimeout == 'number')) {
|
||||
twoFactorTimeout = domain.passwordrequirements.twofactortimeout * 1000;
|
||||
}
|
||||
|
||||
// Render the login page
|
||||
render(req, res,
|
||||
getRenderPage((domain.sitestyle == 2) ? 'login2' : 'login', req, domain),
|
||||
|
@ -2907,7 +2919,8 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
|
|||
otppush: otppush,
|
||||
twoFactorCookieDays: twoFactorCookieDays,
|
||||
authStrategies: authStrategies.join(','),
|
||||
loginpicture: (typeof domain.loginpicture == 'string')
|
||||
loginpicture: (typeof domain.loginpicture == 'string'),
|
||||
tokenTimeout: twoFactorTimeout // Two-factor authentication screen timeout in milliseconds
|
||||
}, req, domain, (domain.sitestyle == 2) ? 'login2' : 'login'));
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue