我使用php的“ authy”创建了一个身份验证器,但是在错误的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 \ n堆栈跟踪:\ n#0 /var/www/HIDDEN/config/otp-authy/lib/Authy/AuthyApi.php(105): Authy \ AuthyApi-> __ validateVerify('HIDDEN','HIDDEN')\ n#1 /var/www/HIDDEN/index.php(54):Authy \ AuthyApi-> verifyToken('HIDDEN', '222')\ n#2 {main} \ n放在/ var / www / HIDDEN / config / otp- 第323行上的authy / lib / Authy / AuthyApi.php,引用网址:https://HIDDEN/index.php
答案 0 :(得分:1)
它在您更改时有效:
verifyToken('HIDDEN', ''.$otp.'')
收件人:
verifyToken('HIDDEN', $otp)