Have you searched for an existing issue?
Brief Summary
On TornadoVPS with 2FA enabled, KPXC does the right thing for login and password fields. However, TOTP field does not show an icon. Right click -> Fill TOTP works fine, as does the global shortcut.
Closest issue I can find to this is #2802 except I do not see "Error: TOTP field found but it is not valid".
After enabling debug logging in the extension and toggling Verbose level logging in the Console, all I see is this:
global.js:186 [Debug observer-helper.js:231] KeePassXC-Browser - Input fields found:
global.js:189 [input#otp.form-control]
global.js:186 [Debug observer-helper.js:231] KeePassXC-Browser - Input fields found:
global.js:189 [input#otp.form-control]0: input#otp.form-controllength: 1[[Prototype]]: Array(0)
Actual HTML for the TOTP page is simple. I've XXX'd out the CSRF token for my safety:
<html dir="ltr" lang="en" xml:lang="en"><head>
<meta http-equiv="content-type" content="text/html">
<meta charset="UTF-8">
<title>Log In | Tornado VPS</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="keywords" content="Xen linux netbsd centos debian fedora ubuntu freebsd hosting">
<meta name="description" content="Tornado VPS Xen VPS hosting: Low cost virtual servers since 2005. Hosting for the technically adept. Linux, FreeBSD, and NetBSD supported.">
<link rel="shortcut icon" href="/app/views/client/bootstrap/images/favicon.ico">
<link href="/app/views/client/bootstrap/css/application.min.css" rel="stylesheet" type="text/css">
<link href="/client/theme/theme.css?dir=" rel="stylesheet" type="text/css" media="screen">
<link href="/app/views/client/bootstrap/css/font-awesome.min.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="/app/views/client/bootstrap/javascript/jquery.min.js"></script>
<!--[if lt IE 10]><script type="text/javascript" src="/app/views/client/bootstrap/javascript/history/json2.js"></script><![endif]-->
<script type="text/javascript" src="/app/views/client/bootstrap/javascript/history/history.adapter.jquery.js"></script>
<script type="text/javascript" src="/app/views/client/bootstrap/javascript/history/history.js"></script>
<!--[if lt IE 10]><script type="text/javascript" src="/app/views/client/bootstrap/javascript/history/history.html4.js"></script><![endif]-->
<script type="text/javascript" src="/app/views/client/bootstrap/javascript/app.min.js?v=16bd99c5b2aaadf269769c059ef258e6f5db0d2c62a0e1255939be81313dac17"></script>
<!--[if lt IE 9]>
<script src="/app/views/client/bootstrap/javascript/html5shiv.js" type="text/javascript"></script>
<script src="/app/views/client/bootstrap/javascript/respond.min.js" type="text/javascript"></script>
<![endif]-->
<link href="/prgmr/prgmr.css" rel="stylesheet" type="text/css">
</head>
<body style="">
<!-- Begin Content -->
<main class="container">
<div class="row login">
<div class="col-md-4 col-sm-6 col-md-offset-1">
<h2><i class="fa fa-lock"></i> Tornado VPS</h2>
<h4>Log In</h4>
<p>Please enter your One Time Password.</p>
<hr>
</div>
<div class="col-md-4 col-sm-6 col-md-offset-1">
<div class="panel panel-blesta">
<div class="panel-body">
<form method="post" action="/client/login/otp" class="disable-on-submit">
<input type="hidden" name="_csrf_token" value="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX">
<fieldset>
<div class="form-group">
<label for="otp">One Time Password</label>
<input type="text" name="otp" id="otp" class="form-control" placeholder="One Time Password">
</div>
<button type="submit" class="btn btn-success btn-block"><i class="fa fa-sign-in"></i> Log In</button>
<input type="submit" name="login" value="" class="hidden" hidefocus="true">
</fieldset>
</form>
</div>
</div>
</div>
</div>
</main>
<footer class="footer text-center">
<div class="container-fluid">
<div class="sr-only">
<span><a href="/client/login">Log in</a></span>
<span><a href="/order/main/index/registrar">Sign up</a></span>
<span><a href="/order">Pricing</a></span>
</div>
<ul class="nav">
<li><a href="/contact">Contact Us</a></li>
<li><a href="/aup">Acceptable Use Policy</a></li>
<li><a href="/privacy">Privacy Policy</a></li>
<li><a href="/about"> About Us</a></li>
<li><a href="/documentation">Documentation</a></li>
<li><a href="/blog">Blog</a></li>
<li><a href="/ssh-public-keys.txt">Server Public Keys</a></li>
<li><a href="/accessibility">Accessibility</a></li>
</ul>
</div>
<p class="copyright">©2017-2022 Tornado VPS, Inc. All rights reserved.</p>
<hr>
<p class="powered-by">Powered by <a href="http://www.blesta.com/">Blesta</a>, © Phillips Data, Inc.</p>
</footer>
<div class="modal fade" id="global_modal" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="global_modal_title"></h4>
</div>
<div class="modal-body"><i class="fa fa-spinner fa-spin"></i></div>
<div class="modal-footer"></div>
</div>
</div>
</div>
<script type="text/javascript">
$(document).ready(function() {
$("#login_username").focus();
});
</script>
</body></html>
Expected Versus Actual Behavior
No response
Steps to Reproduce
- Visit https://tornadovps.com/client/login
- Log in with username/password
- When prompted for TOTP, witness the problem
KeePassXC-Browser Debug Information
KeePassXC - 2.7.12
KeePassXC-Browser - 1.10.1
Operating system: Win64
Browser: Chrome/Chromium 147.0.0.0
Have you searched for an existing issue?
Brief Summary
On TornadoVPS with 2FA enabled, KPXC does the right thing for login and password fields. However, TOTP field does not show an icon. Right click -> Fill TOTP works fine, as does the global shortcut.
Closest issue I can find to this is #2802 except I do not see "Error: TOTP field found but it is not valid".
After enabling debug logging in the extension and toggling Verbose level logging in the Console, all I see is this:
Actual HTML for the TOTP page is simple. I've XXX'd out the CSRF token for my safety:
Expected Versus Actual Behavior
No response
Steps to Reproduce
KeePassXC-Browser Debug Information