Как сделать авторизацию на сайте: Новая надежда
Банальная задача, изженная вдоль и поперек где только можно — это авторизация на сайта. Тренд постоянно меняющийся и придумывают все новые и новые способы.
Все чаще я стал замечать лаконичный, я бы даже сказал гениальный способ — это одноразовые пароли через email. Максимально удобно, относительно безопасно.
Терминологический экскурс: Аутентификация и авторизация
Начнем с терминологии. Есть два термина, которые часто подменяют друг друга: аутентификация и авторизация.
Аутентификация — это процесс проверки личности пользователя, который подтверждает, что он действительно тот, за кого себя выдает. Для этого используются различные методы: логин и пароль, одноразовые коды, биометрические данные или физические устройства. Цель аутентификации — убедиться, что доступ получает именно тот, кто имеет на это право.
Авторизация — это процесс определения прав и уровня доступа пользователя к ресурсам системы после успешной аутентификации. Она отвечает на вопрос «что пользователь может делать?» и позволяет управлять доступом к данным, функциям или файлам в зависимости от роли, настроек или других условий.
Разница проста: аутентификация проверяет, кто вы, а авторизация определяет, что вам разрешено делать. Например, ввод логина и пароля подтверждает вашу личность (аутентификация), а доступ к определенным разделам сайта зависит от ваших прав (авторизация).
Процесс входа на сайт обычно включает два этапа — аутентификацию и авторизацию, поэтому его правильно называть аутентификацией с авторизацией или просто процессом входа (login process)
Эволюция входа: Исторический экскурс
В начале развития web было классическое сочетание логин и пароль — до сих пор прекрасно используется на многих проектах. Но возникла проблема: пользователи забывали свои логины, что уменьшало конверсию на вход.
Тогда к логинам прикрутили email. Забыл логин или пароль — не проблема, восстанови через почту. В целом нормально, но не так удобно. Кто-то пошел дальше и полностью отказался от логина, по сути сделав его равным email. Уже проще — свой email точно не забудешь.
Стоит сделать ремарку: в какой-то момент в браузерах появились менеджеры паролей, которые запоминали данные за пользователя. Это безумно удобно, при условии синхронизации с разными устройствами пользователя.
Безопасность vs Удобство
Email и пароль — замечательный способ, но нельзя быть до конца уверенными, что действия из аккаунта действительно выполняет его владелец. Есть сферы, где это критично: банкинг, финансы, здоровье и другие области, чувствительные к безопасности данных.
На фоне этого появлялись разнообразные способы двухфакторного входа с контрольным вопросом, звонком и т. д., но это совершенно другая история. Нужно искать далее.
Процесс входа с парой логин/email и пароль накладывает на систему дополнительные требования: организация отдельной регистрации, процесс восстановления доступа с контрольными строками и прочее.
Альтернативные методы входа
Набирал популярность тренд аутентификации через SMS. Вводишь номер, приходит SMS, вводишь одноразовый пароль — и вошел. Без пыли, без постоянных паролей — очень удобно.
Но есть проблема — это дорого. SMS стоит денег, провайдеры хотят денег. Чтобы быть уверенным, что SMS дойдет, нужно покупать подписку у каждого провайдера связи. Цена входа одного пользователя улетает в космос.
Звонки казались еще дороже, но оказалось — нет. Вводишь номер, тебе поступает звонок, последние 4-6 цифр это и есть пароль. Иногда робот диктует код, и нужно поднимать трубку. В целом нормально, но при звонке приходится быстро перепечатывать код, что не всегда удобно и очевидно что от тебя хотят.
Сейчас спамеров все сильнее контролируют, поэтому SMS и звонки все реже проходят, создавая дополнительные барьеры для пользователя. Стоимость доставки и доходимость заставили искать новые методы. Стоимость конечно можно снижать за счет протягивая, сохранения жизнь сессиям пользователей, но это как подорожник при переломе ноги.
Стоит отметить, используют комбинации методов. Одноразовый пароль через смс далее постоянный пароль и т. д.
Возвращение email: Новая надежда
Король вернулся. Email снова на коне. Организация максимально простая — одно окно ввода email, никакой регистрации, восстановления доступа не требуется. Если email нет — создаем в базе, если есть — высылаем пароль.
Шаблон email в этом случае примитивен, но имеет два варианта. Выслать контрольную строку с авторизацией или код для входа. Метод со ссылкой еще более простой, так как в интерфейсе нам нужно только окно ввода email и все.
Лично мне безумно удобно пользоваться. Почта всегда под рукой на телефоне. Кто скажет иначе — я возражу, что сейчас невозможно почти пользоваться телефоном, не введя email и на Apple, и на Android.
Ты уже наверняка сталкивался с данным подходом, его например внедрила figma.
Социальный вход: Еще один вариант
Нельзя не упомянуть методы входа через сторонние приложения — Яндекс, VK, Тинькофф и другие. Но если смотреть правде в глаза, в глубине души нельзя быть уверенным, что один или несколько методов покроют всех пользователей. Найдется тот самый пользователь, у которого этого нет, а почта есть у всех. Наверное.
Итого
Если у вас сервис связанный с b2b и даже b2c, рекомендую к внедрению. Мы уже начали внедрение для некоторых своих клиентов и в скором времени соберем данные о том насколько это метод эффективен.