- PVSM.RU - https://www.pvsm.ru -
На сегодняшний день в интернете практически все сайты используют древнюю и проверенную временем схему регистрации/авторизации по email. Такая схема всегда отлично работала и продолжает работать по сей день, но она делает пользователя интернета зависимым от почтовых сервисов, и на мой взгляд, имеет ряд недостатков.
К сожалению, нет такой же популярной, простой и удобной альтернативы, как с точки зрения внедрения, так и с точки зрения использования. Есть всякие «технологии открытого входа», они несколько удобнее, но они тоже требуют email адрес, и так же имеют ряд недостатков!
Как альтернативу /дополнение этому старейшему способу, я хочу предложить взглянуть на способ авторизации с помощью современных мессенджеров. Регистрация в том виде, котором она используется везде, в принципе исчезает.
На текущий момент под эту задачу по всем параметрам подходит Telegram. Но и не только он. С таким же успехом можно сделать бота и для других мессенджеров. Схема очень проста!
Пользователь, зайдя на сайт, на котором у него нет аккаунта, должен будет добавить в свой Telegram бота этого сайта и запросить у него доступ(например нажав на кнопку «Дай мне пароль») Для тех, кто не пользуется Telegram и не понимает, о какой кнопке идет речь, прикладываю скрин:
В качестве примера, я реализовал схему с одноразовым паролем, которая выглядит следующим образом:
Бот генерирует одноразовый пароль для входа по вашему запросу.
Чтобы войти на сайт, надо заполнить всего одно поле — «пароль»
В этой схеме генерируемый пароль всегда будет уникален и будет принадлежать только одному пользователю Telegram'а, так же пароль будет действителен ограниченное время, а после входа будет уничтожен.
Используя такую схему, нам не нужно ждать письма и проходить процедуру регистрации. Так же не нужно помнить никаких паролей. Нам всегда его напомнит заботливый бот.
Удобство такого подхода заключается еще в том, что Telegram доступен на всех платформах, и искать бота не нужно, достаточно просто пройти по ссылке, которая указана на форме авторизации. Как это выглядит в живую можно посмотреть тут: https://x07.herokuapp.com/login [1]
Эту схему, конечно же, можно сделать более практичной, надежной и безопасной.
Для усиления безопасности и укорачивания паролей, можно сделать бота немного умнее, и в случае если бот что-то заподозрит, он попросит прислать ему вашу локацию (Telegram это поддерживает), а далее в бекенде будет произведен анализ того что вы прислали и откуда происходит вход на сайт.
На случай, если не окажется под рукой Telegram'а, или вдруг Telegram будет не доступен, или вы просто не хотите каждый раз туда лезть, то в БД можно сделать поле с постоянным паролем, по которому можно будет войти всегда. При этом заботливого бота можно научить оповещать вас о любом входе на сайт, если вы не запрашивали у него пароль.
Плюс ко всему, можно также добавить имя, которое используется в Telegram'е или любые другие поля на ваше усмотрение, хоть тот же email.
В качестве защиты от простого перебора паролей, можно не прикручивать капчу (которую не возможно разобрать), как это сделано на большинстве сайтов, а научить бота, что бы тот присылал вам уведомление с просьбой подтвердить вход.
Придумать тут можно огромное количество вариантов реализации.
Плюсы такого подхода:
Минусы, куда же без них…
Что вы об этом думаете? Будете ли вы внедрять в своих проектах такой способ авторизации?
Автор: x07
Источник [2]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/analiz-i-proektirovanie-sistem/242807
Ссылки в тексте:
[1] https://x07.herokuapp.com/login: https://x07.herokuapp.com/login
[2] Источник: https://habrahabr.ru/post/321682/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best
Нажмите здесь для печати.