From c74a20760634a91195f1a215203a44fd9a5d41b4 Mon Sep 17 00:00:00 2001 From: Ylian Saint-Hilaire Date: Tue, 13 Apr 2021 23:23:09 -0700 Subject: [PATCH] More work on mobile 2FA. --- MeshCentralServer.njsproj | 1 + firebase.js | 27 +++++++++++- meshagent.js | 1 + public/images/login/2fa-push-48.png | Bin 0 -> 1804 bytes public/images/login/2fa-push-96.png | Bin 0 -> 4254 bytes public/images/login/push-150.png | Bin 0 -> 32584 bytes public/images/login/push-300.png | Bin 0 -> 102473 bytes public/styles/style.css | 2 +- views/default.handlebars | 1 + views/login2.handlebars | 50 ++++++++++++++++++++--- webserver.js | 61 ++++++++++++++++++++++++++-- 11 files changed, 133 insertions(+), 10 deletions(-) create mode 100644 public/images/login/2fa-push-48.png create mode 100644 public/images/login/2fa-push-96.png create mode 100644 public/images/login/push-150.png create mode 100644 public/images/login/push-300.png diff --git a/MeshCentralServer.njsproj b/MeshCentralServer.njsproj index 65a75ba5..b7cbded0 100644 --- a/MeshCentralServer.njsproj +++ b/MeshCentralServer.njsproj @@ -99,6 +99,7 @@ + diff --git a/firebase.js b/firebase.js index 807dc73a..2bbdabb9 100644 --- a/firebase.js +++ b/firebase.js @@ -90,8 +90,16 @@ module.exports.CreateFirebase = function (parent, senderid, serverkey) { //var payload = { notification: { title: command.title, body: command.msg }, data: { url: obj.msgurl } }; //var options = { priority: 'High', timeToLive: 5 * 60 }; // TTL: 5 minutes, priority 'Normal' or 'High' - // Send an outbound push notification obj.sendToDevice = function (node, payload, options, func) { + if (typeof node == 'string') { + parent.db.Get(node, function (err, docs) { if ((err == null) && (docs != null) && (docs.length == 1)) { obj.sendToDeviceEx(docs[0], payload, options, func); } else { func(0, 'error'); } }) + } else { + obj.sendToDeviceEx(node, payload, options, func); + } + } + + // Send an outbound push notification + obj.sendToDeviceEx = function (node, payload, options, func) { parent.debug('email', 'Firebase-sendToDevice'); if ((node == null) || (typeof node.pmt != 'string')) return; obj.log('sendToDevice, node:' + node._id + ', payload: ' + JSON.stringify(payload) + ', options: ' + JSON.stringify(options)); @@ -270,6 +278,14 @@ module.exports.CreateFirebaseRelay = function (parent, url, key) { } obj.sendToDevice = function (node, payload, options, func) { + if (typeof node == 'string') { + parent.db.Get(node, function (err, docs) { if ((err == null) && (docs != null) && (docs.length == 1)) { obj.sendToDeviceEx(docs[0], payload, options, func); } else { func(0, 'error'); } }) + } else { + obj.sendToDeviceEx(node, payload, options, func); + } + } + + obj.sendToDeviceEx = function (node, payload, options, func) { parent.debug('email', 'Firebase-sendToDevice-webSocket'); if ((node == null) || (typeof node.pmt != 'string')) { func(0, 'error'); return; } obj.log('sendToDevice, node:' + node._id + ', payload: ' + JSON.stringify(payload) + ', options: ' + JSON.stringify(options)); @@ -298,7 +314,16 @@ module.exports.CreateFirebaseRelay = function (parent, url, key) { } else if (relayUrl.protocol == 'https:') { // Send an outbound push notification using an HTTPS POST obj.pushOnly = true; + obj.sendToDevice = function (node, payload, options, func) { + if (typeof node == 'string') { + parent.db.Get(node, function (err, docs) { if ((err == null) && (docs != null) && (docs.length == 1)) { obj.sendToDeviceEx(docs[0], payload, options, func); } else { func(0, 'error'); } }) + } else { + obj.sendToDeviceEx(node, payload, options, func); + } + } + + obj.sendToDeviceEx = function (node, payload, options, func) { parent.debug('email', 'Firebase-sendToDevice-httpPost'); if ((node == null) || (typeof node.pmt != 'string')) return; diff --git a/meshagent.js b/meshagent.js index e4886519..38044ce5 100644 --- a/meshagent.js +++ b/meshagent.js @@ -1556,6 +1556,7 @@ module.exports.CreateMeshAgent = function (parent, db, ws, req, args, domain) { // Complete 2FA checking if (authCookie.a == 'checkAuth') { // TODO + console.log(authCookie); } break; diff --git a/public/images/login/2fa-push-48.png b/public/images/login/2fa-push-48.png new file mode 100644 index 0000000000000000000000000000000000000000..e962d53330b4d72aea8a957a1384bdb7da659822 GIT binary patch literal 1804 zcmV+n2lM!eP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D2BAqrK~z{r%~(xL zRYw%Q{}-Q78=@!$v{(XpU<*DQOI$!qx@+7SyKvKmMj^UsVxp-rHMKEaSr^3M&yJ)q zp^GL!{pF=3x*%!NHP)HdtJT|fY z!<{2z6P;a;yBl7i~!b0S_w(F2M zBo;IdPF85zQ}byr2>np^Gz~fkbw40OjFy91%1q0`QUu^&F@PaJhGk98F8HBFoQM_- zjR;Yo6ga67vP}~K!M!1lNt${{&@`tJAwTr|ARUD1B_mLrn~H>pf#Fy-1iT#3vSD$t zU!}l-ViQncsD>bDDnT)2EK|0P;P9031Of(RJ{9;HD;*S&Mg;_B!Fm!3!GQ7L;N)Io z(bp(tsGczNusDT?mY8euP$Gm`MhqAaCR9geM(dW5MAh(B9Se$PAWqOKHLYAjCi3Mt zOj8ZvXd-(kCa#ld6c0$4Av95gtp)``@K3i#rr5Mc(I9IqUZhDZE9K)dB7xYj@Q{e{ za!@R4OOW8g%1ChH;(?IPs9?z^fq#R&kH|uS5dJBzV(1Kr890FrO+5><3`IktGmSxb ze_Fp9qFS*`hly)j5Y|I1U0R$hT}L6Cnr@P3-3&mBf}{Z1tNAk+rNeK(JWiPgG@|6= zVnYX&0D%FUbt1%|FRK`VWldH_wiSf%X&5@*z99xgjFyAi)x4-7nC@Hz56hrpV)djE z2O~6f%`_mOBnHbtjS!0j<>(D#IdlU89wrwJq5@SyEHD%&gS4rm=`f+W##T#2kx_vr z!9z|AmV+W86Fdk)Q;ss=FGTqsLgORM+s~iPSgNU3aEoArO%h?630nfZtc~7=*OJbPFhXiIB>P=<{P^*Bd;IIGZMk^`X>$Se zXxD)c)pgrP3F%g9J`+23QuneViHV`_zxuqkre^KG%kY6^(yNYd`?l@7w&&PB6VFB` z#B<$rmYZgJ(RI;8r{b(viBNkyzHLVdk|VaLmO*sT2dl6%P6N*y?0;4x9U+yJ#p3}! zBh-Q9;!}F<_lGtzytfRSHf_qy&3%6fd3kyH`T3hSZ^o&doE$W_Zruta5{U>G5>S`| zm`4{c{*a%)ZDuBM;lg*XUd>**blG*?iHXVc=g%Q{jg43FycioBKXc}ENy$g&&V4&S zKmYLI!z))BgbN8Mq^!HUyQHLK%a%Ocrl;pmbe5HsAsExsiN3xUXd*n>+1WEQGsDBf zXciY2^ZlWzsj14!$~8_Ik`;|c5rFaWvDw)K?u~RzPEPjs_m7W{W@qQ%0^E3DV8C&l z!os5b{14{l<`aooF^!3YHe+~ef!rtcW&LgclZANd#!CPh#bF62C_AD z>eQ*}>FMSBiWvji^I+gZK79KWH`cy}Fm>TqG~NOhLwb_D8<_mUS`D&<4jw!>Iy#z6 zCR3>t-;D;?UbNVZ=HMX#C`v)V!;dmQeE2Z;vnpg$1`G}kc6N5Y9jA_tj**cO7|2U$ uX({i_0P`Rgixm|WiS}wxAoO2A)BXVo#C^kXUP;pc0000`)T` literal 0 HcmV?d00001 diff --git a/public/images/login/2fa-push-96.png b/public/images/login/2fa-push-96.png new file mode 100644 index 0000000000000000000000000000000000000000..9081f5d3d4f182f462db2fcb9c089239aeb018bd GIT binary patch literal 4254 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 z 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
s-$Qlx8oQu8s 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
9b30N|<_rzWd$phCl!F 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%0Dw^B&X*Ci%j8uStbZ%fC(U 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 literal 0 HcmV?d00001 diff --git a/public/styles/style.css b/public/styles/style.css index 7bf0802b..5a1c77ac 100644 --- a/public/styles/style.css +++ b/public/styles/style.css @@ -394,7 +394,7 @@ body { color: blue; } -#loginpanel, #createpanel, #resetpanel, #tokenpanel, #resettokenpanel, #resetpasswordpanel, #resetpasswordpanel, #checkemailpanel { +#loginpanel, #createpanel, #resetpanel, #tokenpanel, #resettokenpanel, #resetpasswordpanel, #resetpasswordpanel, #checkemailpanel, #waitpushpanel { display: inline-block; margin: 0; background-color: #979797; diff --git a/views/default.handlebars b/views/default.handlebars index cf08702d..7f67ab08 100644 --- a/views/default.handlebars +++ b/views/default.handlebars @@ -2032,6 +2032,7 @@ QV('authKeySetupCheck', userinfo.otphkeys > 0); QV('authPushAuthDevCheck', (userinfo.otpdev > 0) && ((features2 & 2) != 0)); QV('authCodesSetupCheck', userinfo.otpkeys > 0); + QV('managePushAuthDev', (features2 & 2) && (count2factoraAuths() > 0)); mainUpdate(4 + 128 + 4096); // Check if none or at least 2 factors are enabled. diff --git a/views/login2.handlebars b/views/login2.handlebars index 2bc929f6..75a24e62 100644 --- a/views/login2.handlebars +++ b/views/login2.handlebars @@ -186,6 +186,7 @@ + @@ -219,6 +220,7 @@ + @@ -281,6 +283,22 @@ +

@@ -330,6 +348,7 @@ var publicKeyCredentialRequestOptions = null; var otpemail = (decodeURIComponent('{{{otpemail}}}') === 'true'); var otpsms = (decodeURIComponent('{{{otpsms}}}') === 'true'); + var otppush = (decodeURIComponent('{{{otppush}}}') === 'true'); var twoFactorCookieDays = parseInt('{{{twoFactorCookieDays}}}'); var authStrategies = '{{{authStrategies}}}'.split(','); @@ -342,15 +361,16 @@ // Display the right server message var i; var messageid = parseInt('{{{messageid}}}'); - var okmessages = ['', "If valid, reset mail sent.", "Email sent.", "Email verification required, check your mailbox and click the confirmation link.", "SMS sent."]; - var failmessages = ["Unable to create account.", "Account limit reached.", "Existing account with this email address.", "Invalid account creation token.", "Username already exists.", "Password rejected, use a different one.", "Invalid email.", "Account not found.", "Invalid token, try again.", "Unable to sent email.", "Account locked.", "Access denied.", "Login failed, check username and password.", "Password change requested.", "IP address blocked, try again later.", "Server under maintenance."]; + var okmessages = ['', "If valid, reset mail sent.", "Email sent.", "Email verification required, check your mailbox and click the confirmation link.", "SMS sent.", "Notification sent, {0}."]; + var failmessages = ["Unable to create account.", "Account limit reached.", "Existing account with this email address.", "Invalid account creation token.", "Username already exists.", "Password rejected, use a different one.", "Invalid email.", "Account not found.", "Invalid token, try again.", "Unable to sent email.", "Account locked.", "Access denied.", "Login failed, check username and password.", "Password change requested.", "IP address blocked, try again later.", "Server under maintenance.", "Unable to send device notification."]; if (messageid > 0) { var msg = ''; if ((messageid < 100) && (messageid < okmessages.length)) { msg = okmessages[messageid]; } else if ((messageid >= 100) && ((messageid - 100) < failmessages.length)) { msg = failmessages[messageid - 100]; } + if (messageid == 5) { msg = format(msg, passhint); } if (msg != '') { if (messageid >= 100) { msg = ('' + msg + '

'); } else { msg = ('' + msg + '

'); } - for (i = 1; i < 8; i++) { QH('message' + i, msg); } + for (i = 1; i < 9; i++) { QH('message' + i, msg); } } } @@ -369,8 +389,11 @@ if (twoFactorCookieDays > 0) { QV('tokenInputRememberLabel', true); QH('tokenInputRememberSpan', format("Remember this device for {0} days.", twoFactorCookieDays)); + QV('tokenInputRememberLabel2', true); + QH('tokenInputRememberSpan2', format("Remember this device for {0} days.", twoFactorCookieDays)); } else { QV('tokenInputRememberLabel', false); + QV('tokenInputRememberLabel2', false); } // If URL arguments are provided, add them to form posts @@ -443,10 +466,12 @@ var twofakey = (hardwareKeyChallenge != null) && (hardwareKeyChallenge.type == 'webAuthn'); var emailkey = otpemail && (messageid != 2) && (messageid != 4); var smskey = otpsms && (messageid != 2) && (messageid != 4); + var pushkey = otppush && (messageid != 2) && (messageid != 4); QV('securityKeyButton', twofakey); QV('emailKeyButton', emailkey); QV('smsKeyButton', smskey); - QV('2farow', twofakey || emailkey || smskey); + QV('pushKeyButton', pushkey); + QV('2farow', twofakey || emailkey || smskey || pushkey); } if (loginMode == '5') { @@ -454,10 +479,12 @@ var twofakey = (hardwareKeyChallenge != null) && (hardwareKeyChallenge.type == 'webAuthn'); var emailkey = otpemail && (messageid != 2) && (messageid != 4); var smskey = otpsms && (messageid != 2) && (messageid != 4); + var pushkey = otppush && (messageid != 2) && (messageid != 4); QV('securityKeyButton2', twofakey); QV('emailKeyButton2', emailkey); QV('smsKeyButton2', smskey); - QV('2farow2', twofakey || emailkey || smskey); + QV('pushKeyButton', pushkey); + QV('2farow2', twofakey || emailkey || smskey || pushkey); } /* @@ -565,6 +592,18 @@ } } + function usePushToken(panelAction) { + if (panelAction == 1) { + Q('hwtokenInput').value = '**push**'; + QE('tokenOkButton', true); + Q('tokenOkButton').click(); + } else if (panelAction == 2) { + Q('resetHwtokenInput').value = '**push**'; + QE('resetTokenOkButton', true); + Q('resetTokenOkButton').click(); + } + } + function showPassHint(e) { messagebox("Password Hint", passhint); haltEvent(e); @@ -595,6 +634,7 @@ QV('resettokenpanel', x == 5); QV('resetpasswordpanel', x == 6); QV('checkemailpanel', x == 7); + QV('waitpushpanel', x == 8); if (x == 1) { Q('username').focus(); } if (x == 2) { if (features & 0x200000) { Q('aemail').focus(); } else { Q('ausername').focus(); } } // Email is username if (x == 3) { Q('remail').focus(); } diff --git a/webserver.js b/webserver.js index dbb7155c..70a9607e 100644 --- a/webserver.js +++ b/webserver.js @@ -924,6 +924,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) { var email2fa = (((typeof domain.passwordrequirements != 'object') || (domain.passwordrequirements.email2factor != false)) && (domain.mailserver != null) && (user.email != null) && (user.emailVerified == true) && (user.otpekey != null)); var sms2fa = (((typeof domain.passwordrequirements != 'object') || (domain.passwordrequirements.sms2factor != false)) && (parent.smsserver != null) && (user.phone != null)); + var push2fa = ((parent.firebase != null) && (user.otpdev != null)); // Check if this user has 2-step login active if ((req.session.loginmode != '6') && checkUserOneTimePasswordRequired(domain, user, req)) { @@ -951,6 +952,29 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) { return; } + if ((req.body.hwtoken == '**push**') && push2fa) { + // Cause push notification to device + const logincode = obj.common.zeroPad(getRandomSixDigitInteger(), 6); + const code = Buffer.from(logincode).toString('base64'); + const authCookie = parent.encodeCookie({ a: 'checkAuth', c: code, u: user._id, n: user.otpdev }); + var payload = { notification: { title: "MeshCentral", body: user.name + " authentication" }, data: { url: '2fa://auth?code=' + code + '&c=' + authCookie } }; + var options = { priority: 'High', timeToLive: 60 }; // TTL: 1 minute + parent.firebase.sendToDevice(user.otpdev, payload, options, function (id, err, errdesc) { + if (err == null) { + // Request that the login page wait for device auth + req.session.messageid = 5; // "Notification sent." message + req.session.passhint = logincode; + req.session.loginmode = '8'; + } else { + // Indicate the push notification failed + req.session.messageid = 116; // "Unable to send device notification." message + req.session.loginmode = '4'; + } + if (direct === true) { handleRootRequestEx(req, res, domain); } else { res.redirect(domain.url + getQueryPortion(req)); } + }); + return; + } + checkUserOneTimePassword(req, domain, user, req.body.token, req.body.hwtoken, function (result) { if (result == false) { var randomWaitTime = 0; @@ -973,6 +997,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) { req.session.loginmode = '4'; req.session.tokenemail = ((user.email != null) && (user.emailVerified == true) && (domain.mailserver != null) && (user.otpekey != null)); req.session.tokensms = ((user.phone != null) && (parent.smsserver != null)); + req.session.tokenpush = ((user.otpdev != null) && (parent.firebase != null)); req.session.tokenuserid = userid; req.session.tokenusername = xusername; req.session.tokenpassword = xpassword; @@ -1097,6 +1122,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) { delete req.session.tokenpassword; delete req.session.tokenemail; delete req.session.tokensms; + delete req.session.tokenpush; delete req.session.messageid; delete req.session.passhint; delete req.session.cuserid; @@ -1301,6 +1327,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) { delete req.session.resettokenpassword; delete req.session.tokenemail; delete req.session.tokensms; + delete req.session.tokenpush; delete req.session.messageid; delete req.session.passhint; delete req.session.cuserid; @@ -1382,6 +1409,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) { delete req.session.resettokenpassword; delete req.session.tokenemail; delete req.session.tokensms; + delete req.session.tokenpush; delete req.session.messageid; delete req.session.passhint; delete req.session.cuserid; @@ -2638,7 +2666,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) { var passhint = null, msgid = 0; if (req.session != null) { msgid = req.session.messageid; - if ((loginmode == '7') || ((domain.passwordrequirements != null) && (domain.passwordrequirements.hint === true))) { passhint = EscapeHtml(req.session.passhint); } + if ((msgid == 5) || (loginmode == '7') || ((domain.passwordrequirements != null) && (domain.passwordrequirements.hint === true))) { passhint = EscapeHtml(req.session.passhint); } delete req.session.messageid; delete req.session.passhint; } @@ -2658,6 +2686,8 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) { if ((typeof domain.passwordrequirements == 'object') && (domain.passwordrequirements.email2factor == false)) { otpemail = false; } var otpsms = (parent.smsserver != null) && (req.session != null) && (req.session.tokensms == true); if ((typeof domain.passwordrequirements == 'object') && (domain.passwordrequirements.sms2factor == false)) { otpsms = false; } + var otppush = (parent.firebase != null) && (req.session != null) && (req.session.tokenpush == true); + //if ((typeof domain.passwordrequirements == 'object') && (domain.passwordrequirements.push2factor == false)) { otppush = false; } // See if we support two-factor trusted cookies var twoFactorCookieDays = 30; @@ -2704,6 +2734,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) { hwstate: hwstate, otpemail: otpemail, otpsms: otpsms, + otppush: otppush, twoFactorCookieDays: twoFactorCookieDays, authStrategies: authStrategies.join(','), loginpicture: (typeof domain.loginpicture == 'string') @@ -5844,7 +5875,8 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) { // Figure out if email 2FA is allowed var email2fa = (((typeof domain.passwordrequirements != 'object') || (domain.passwordrequirements.email2factor != false)) && (domain.mailserver != null) && (user.otpekey != null)); var sms2fa = (((typeof domain.passwordrequirements != 'object') || (domain.passwordrequirements.sms2factor != false)) && (parent.smsserver != null) && (user.phone != null)); - if ((typeof command.token != 'string') || (command.token == '**email**') || (command.token == '**sms**')) { + //var push2fa = ((parent.firebase != null) && (user.otpdev != null)); + if ((typeof command.token != 'string') || (command.token == '**email**') || (command.token == '**sms**')/* || (command.token == '**push**')*/) { if ((command.token == '**email**') && (email2fa == true)) { // Cause a token to be sent to the user's registered email user.otpekey = { k: obj.common.zeroPad(getRandomEightDigitInteger(), 8), d: Date.now() }; @@ -5861,6 +5893,17 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) { parent.smsserver.sendToken(domain, user.phone, user.otpsms.k, obj.getLanguageCodes(req)); // Ask for a login token & confirm sms was sent try { ws.send(JSON.stringify({ action: 'close', cause: 'noauth', msg: 'tokenrequired', email2fa: email2fa, sms2fa: sms2fa, sms2fasent: true, twoFactorCookieDays: twoFactorCookieDays })); ws.close(); } catch (e) { } + /* + } else if ((command.token == '**push**') && (push2fa == true)) { + // Cause push notification to device + const code = Buffer.from(obj.common.zeroPad(getRandomSixDigitInteger(), 6)).toString('base64'); + const authCookie = parent.encodeCookie({ a: 'checkAuth', c: code, u: user._id, n: user.otpdev }); + var payload = { notification: { title: "MeshCentral", body: user.name + " authentication" }, data: { url: '2fa://auth?code=' + code + '&c=' + authCookie } }; + var options = { priority: 'High', timeToLive: 60 }; // TTL: 1 minute + parent.firebase.sendToDevice(user.otpdev, payload, options, function (id, err, errdesc) { + if (err == null) { parent.debug('email', 'Successfully auth check send push message to device'); } else { parent.debug('email', 'Failed auth check push message to device, error: ' + errdesc); } + }); + */ } else { // Ask for a login token parent.debug('web', 'Asking for login token'); @@ -5965,7 +6008,8 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) { // Figure out if email 2FA is allowed var email2fa = (((typeof domain.passwordrequirements != 'object') || (domain.passwordrequirements.email2factor != false)) && (domain.mailserver != null) && (user.otpekey != null)); var sms2fa = (((typeof domain.passwordrequirements != 'object') || (domain.passwordrequirements.sms2factor != false)) && (parent.smsserver != null) && (user.phone != null)); - if ((typeof req.query.token != 'string') || (req.query.token == '**email**') || (req.query.token == '**sms**')) { + //var push2fa = ((parent.firebase != null) && (user.otpdev != null)); + if ((typeof req.query.token != 'string') || (req.query.token == '**email**') || (req.query.token == '**sms**')/* || (req.query.token == '**push**')*/) { if ((req.query.token == '**email**') && (email2fa == true)) { // Cause a token to be sent to the user's registered email user.otpekey = { k: obj.common.zeroPad(getRandomEightDigitInteger(), 8), d: Date.now() }; @@ -5982,6 +6026,17 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) { parent.smsserver.sendToken(domain, user.phone, user.otpsms.k, obj.getLanguageCodes(req)); // Ask for a login token & confirm sms was sent try { ws.send(JSON.stringify({ action: 'close', cause: 'noauth', msg: 'tokenrequired', email2fa: email2fa, sms2fa: sms2fa, sms2fasent: true, twoFactorCookieDays: twoFactorCookieDays })); ws.close(); } catch (e) { } + /* + } else if ((command.token == '**push**') && (push2fa == true)) { + // Cause push notification to device + const code = Buffer.from(obj.common.zeroPad(getRandomSixDigitInteger(), 6)).toString('base64'); + const authCookie = parent.encodeCookie({ a: 'checkAuth', c: code, u: user._id, n: user.otpdev }); + var payload = { notification: { title: "MeshCentral", body: user.name + " authentication" }, data: { url: '2fa://auth?code=' + code + '&c=' + authCookie } }; + var options = { priority: 'High', timeToLive: 60 }; // TTL: 1 minute + parent.firebase.sendToDevice(user.otpdev, payload, options, function (id, err, errdesc) { + if (err == null) { parent.debug('email', 'Successfully auth check send push message to device'); } else { parent.debug('email', 'Failed auth check push message to device, error: ' + errdesc); } + }); + */ } else { // Ask for a login token parent.debug('web', 'Asking for login token');