Обработка реализации TOTP (PHP или JavaScript) - PullRequest
0 голосов
/ 18 февраля 2019

Я реализовал 2FA (метод TOTP) в одном из моих приложений.Генерация секретного ключа и проверка кода TOTP выполняются на стороне сервера (PHP).В некоторых случаях код TOTP, сгенерированный приложением TOTP (Мой случай Google Authenticator), не принимается моей заявкой.Я знаю, что это потому, что разница во времени.Я ожидаю способ поддержки пользователей из разных часовых поясов.

Текущее поведение реализации:

Случай 1 (отлично работает):

  • Часовой пояс сервера по умолчанию установлен на «Азия / Калькутта»
  • Пользователь, включающий TOTP из Индии
  • Пользователь, всегда входящий в систему из Индии

Случай 2 (Ошибка входа):

  • Серверный часовой пояс по умолчанию установлен в «Азия / Калькутта»
  • Пользователь, включающий TOTP из Индии
  • Вход в систему из другого часового пояса

Случай 3 (Ошибка входа в систему):

  • Часовой пояс сервера по умолчанию установлен на «Азия / Калькутта»
  • Пользователь, включающий TOTP из другого часового пояса
  • Пользователь, входящий в систему из другогоЧасовой пояс

Как обычно TOTP будет интегрирован в приложение для поддержки пользователей из разных часовых поясов?

Рекомендации по созданию секретов и проверке со стороны клиента (JS)?

1 Ответ

0 голосов
/ 18 февраля 2019

Вы всегда должны использовать UTC в качестве часового пояса.Это самый простой подход.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...