Подлинная документация Auth-Key и QR-код

Я пытаюсь реализовать 2FA с Authy и с помощью аутентичный php библиотека и ключ API авторизации для добавления пользователей в систему аутентификации, чтобы пользователь мог сканировать QR-код и получать аутентификацию моего приложения в телефоне.

Я сделал документацию, как указано в этом страница библиотеки github. Пользовательские данные успешно сохраняются, но я получаю некоторый случайный числовой секретный ключ (который генерируется для пользователя с помощью authy) секрет для хранения в базе данных, если я ввожу этот секрет в приложение, которое он показывает секретный ключ неверен ошибка, оформить скриншоты ниже

Нам нужно ввести в секрет что-то вроде этого (изображение включено)
Нам нужно ввести секрет примерно так, но я получаю числовой секрет, если я ввожу это вручную, приложение показывает ошибку, как показано на скриншоте ниже.

Ошибка приложения Authy

документация как ниже

require_once dirname(__DIR__) . '/extra/Authy/vendor/autoload.php';
$authy_api = new Authy\AuthyApi('MY_API_KEY');
$user = $authy_api->registerUser('[email protected]', '9999999999', 91); // (email, phone number, country code)
if($user->ok()){
echo json_encode($user->id());
}else{
foreach($user->errors() as $field => $message) {
printf("$field = $message");
}
}

и еще одна проблема, как я могу создать QR-код, который может понять Authy? Я искал некоторые, и я не получил никаких решений. Помогите мне, пожалуйста.

0

Решение

Twilio / Authy разработчик евангелист здесь.

Я должен извиниться, наша документация немного задержалась. Я постараюсь помочь.

Прежде всего, я рекомендую вам просмотреть эту документацию на двухфакторная аутентификация с Twilio и Authy.

Во-вторых, позвольте мне объяснить процесс с Authy относительно того, как далеко вы продвинулись.

Вы правильно настроили API и учетные данные, а затем зарегистрировали пользователя с помощью вызова $authy_api->registerUser, Идентификатор пользователя, полученный вами из этого ответа, не должен передаваться никому. Это ваша ссылка на вашего пользователя в базе данных Authy. Вы должны хранить этот идентификатор против пользователя, который регистрируется, и использовать этот идентификатор каждый раз, когда вам нужно отправить коды или проверить коды.

Вам не нужно использовать QR-коды, чтобы поделиться чем-либо с пользователем. Чтобы начать процесс двухфакторной аутентификации, вам нужно позвонить:

$authy_api->requestSMS($userID);

С идентификатором, который вы получили от API в качестве $usedID в этом коде.

Вызов метода предполагает, что он собирается отправить SMS, но это всего лишь наследство.

  • Если ваш пользователь уже установил мобильное приложение Authy, выполнил вход и проверил его по номеру телефона, Authy отправит push-уведомление этому приложению с кодом, который вам необходимо отправить. Ваше приложение появится в приложении Authy, и пользователю ничего не нужно делать (особенно сканировать QR-код).
  • Если у пользователя не установлено приложение Authy, Authy отправит ему SMS-сообщение с кодом. Если вы не хотите отправлять SMS-сообщения, вам следует рекомендовать своим пользователям установить приложение Authy.

Наконец, как только пользователь введет код на вашем сайте, вы должны позвонить проверить токен:

$authy_api->verifyToken($userID, $token);

В этом случае $userID это тот идентификатор, который вы получили от registerUser Сначала позвоните и сохраните его для своего пользователя. $token это код, который они вводят из приложения или SMS.

Пожалуйста, дайте мне знать, если это поможет или у вас есть другие вопросы.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]