我用"authy“和php创建了一个验证器,但是在错误的otp的情况下验证不起作用。
代码:
include('config/otp-authy/vendor/autoload.php');
$authy_api = new Authy\AuthyApi('HIDDEN');
$otp = $_POST['otp'];
$verification = $authy_api->verifyToken('HIDDEN', ''.$otp.'');
if ($verification->ok()) {
$_SESSION['HIDDEn'] = $row['userId'];
header("Location: home.php");
} else {
$error_otp = "Il codice OTP è errato!";
}
错误:
PHP致命错误:未捕获异常“Authy\AuthyFormatException”,消息为“无效令牌。意外长度。”在/var/www/HIDDEN/config/otp- authy/lib/Authy/AuthyApi.php:323\nStack /var/www/HIDDEN/config/otp-authy/lib/Authy/AuthyApi.php(105):trace:\n#0 Authy\AuthyApi->__validateVerify('HIDDEN','HIDDEN')\n#1 /var/www/HIDDEN/index.php(54):Authy\AuthyApi->verifyToken('HIDDEN','222')\n#2 {main}\n在第323行抛出/var/www/HIDDEN/config/otp- authy/lib/Authy/AuthyApi.php,参考:https://HIDDEN/index.php
发布于 2019-05-10 23:38:51
当你改变的时候,它会起作用:
verifyToken('HIDDEN', ''.$otp.'')
至:
verifyToken('HIDDEN', $otp)
https://stackoverflow.com/questions/56080458
复制相似问题