【发布时间】:2019-05-10 15:16:22
【问题描述】:
我用“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\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- authy/lib/Authy/AuthyApi.php 323行,referer:https://HIDDEN/index.php
【问题讨论】:
-
究竟有什么不清楚的地方?错误信息不是告诉你很多吗?
-
实际上给了我错误的令牌错误,但我希望它继续,但它不起作用
-
旁注: 在将变量作为函数/方法参数传递时,您不需要引用它们。您可以将
verifyToken('HIDDEN', ''.$otp.'')更改为verifyToken('HIDDEN', $otp) -
THX WORK Magnus Eriksson
标签: php