Привязка телефона к аккаунту и авторизация сканированием QR кода

Как это должно выглядеть?

Для привязки и авторизации достаточно отсканировать своим устройством соответствующие QR коды:

1. На странице привязки

2. На странице авторизации

К чему привязаться?

Немного «погуглив», с печалью осознал, что нет возможности из веба узнать приватную (уникальную) информацию об устройстве. Ни тебе IMEI, ни серийного номера, ничего подобного.Остается только следующее:

1. Долговечная кука, которая будет жить в браузере устройства.

2. IP адреса

3. Юзерагент

К сожалению, с такими данными на долгосрочную привязку устройства к аккаунту рассчитывать не приходится. 

Механизм привязки

1. Генерируем ссылку и формируем QR код

2. Устройство сканирует код и переходит по ссылке

3. Собирается всевозможная информация об устройстве и сохраняется соответствие (устройство = пользователь)

4. На устройство вешаем куку.

5. В это время браузер «слушает» специальную ссылку и как только получен положительный ответ, отображает пользователю сообщение об успешной привязке.

Механизм авторизации

1. Генерируем ссылку и формируем QR код

2. Устройство сканирует код и переходит по ссылке

3. Собираем данные об устройстве и ищем его в базе

4. Если устройство найдено, то открываем сессию для пользователя в браузере

5. В это время браузер «слушает» специальную ссылку и как только получен положительный ответ (в данном случае это кука и редирект на нужную страницу) пользователь авторизуется.

Статьи по теме:

QR-код появился на объектах культурного наследия Москвы Точной даты появления QR-кодов на памятниках Феодосии пока нет В Петербургском метро появилась QR-библиотека Steamless запускает платежную платформу Seqr с поддержкой NFC и QR-кодов в Румынии Закодированное искусство. Экспозицию Пермской художественной галереи снабдили QR-кода ПриватБанк разместил QR-код на своем логотипе Возле одесского памятника вандалы вырвали QR-код весом 150 кг Матричный QR-код повысит оперативность отгрузки продукции ОАО «ЧМК» Будь в курсе! Сохрани QR-код радиостанции "Макс-FM" в Сочи! QR-коды для сообщений о сбоях ядра Linux