хорошо, я потратил 2 часа на то, чтобы узнать, что это такое и как использовать его в веб-приложении! но без успеха.
Большинство ссылок говорят о сканировании кодов или вводе какого-либо ключа в мобильном приложении GoogleAuthenticar, и оно будет возвращать изменяющиеся коды подтверждения каждые 30 секунд.
Немного вещей:
- Веб-приложение имеет собственный логин. Это означает, что пользователи не входят в веб-приложение с помощью Google.
- Если злоумышленник получает пароль пользователя, он видит QR-код как следующий шаг, который он может отсканировать непосредственно с помощью приложения GoogleAuthenticator на своем мобильном телефоне (насколько мне кажется). Как это привязано только к мобильному телефону пользователя?
- На различных сайтах упоминается общий секрет между пользователем и сервером, что означает, что во время регистрации мы предоставляем пользователю общий секрет, который он может использовать в своем мобильном приложении GoogleAuthenticator, а затем использовать его при чтении QR-кода?
- Что делать в приведенном выше случае, если пользователь потерял или забыл секрет? Используйте функцию «забыть секрет», чтобы снова отправить секрет на электронную почту пользователя?
Я смущен тем, как это может быть реализовано в моде, когда это приложение не для Google, а для Android!
Все, что я понимаю, это то, что это просто концепция, требующая нашей собственной реализации с некоторой помощью исходного кода GoogleAuthenticator. Пожалуйста, поправьте меня?
Я думаю, что решение заключается в том, что мы должны написать собственное мобильное приложение, как этот парень упомянул здесь, хотя я до сих пор не уверен, что секрет между мобильным приложением и сервером будет уникальным при каждой установке это приложение, которое идентифицирует только конкретного пользователя, или есть ли способ написать наше собственное приложение и использовать мобильное приложение GoogleAuthenticator без входа в Google в нашем веб-приложении?