Ваш город Москва?

20 июля 2023

OAuth: введение в протокол авторизации простым и понятным языком

OAuth (Open Authorization) — это открытый стандарт авторизации, который позволяет пользователям выдавать доступ к своим данным в соцсетях, почте или других приложениях, чтобы зайти на определённый сайт или ресурс. При этом нет необходимости передавать свой пароль. Вместо него стандарт использует временные токены доступа с ограниченным сроком действия либо доступом только к одной части данных пользователя. Это снижает риск кражи информации из профиля. 

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

Преимущества OAuth

  1. Улучшенная безопасность: использует токены вместо паролей для авторизации пользователя и безопасно передаёт информацию между разными системами.
  2. Улучшенный пользовательский опыт: пользователи могут быстро и удобно перемещаться между разными приложениями и сервисами.
  3. Разрешение на доступ: позволяет пользователям давать доступ к своему контенту только на определённых условиях, таких как время, область, уровень доступа и т. д.
  4. Лёгкость интеграции: открытый стандарт доступен для разработчиков, поэтому его просто интегрировать в облачные сервисы и приложения.
  5. Расширяемость: удобный способ добавления новых сервисов и провайдеров в систему авторизации.
  6. Обратная совместимость: не нарушает работу старых приложений и систем, позволяя им продолжать работать с текущей системой авторизации.

Несмотря на свои плюсы, OAuth накладывает определённые ограничения, когда дело доходит до рассылок

Ограничения OAuth

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

Во-вторых, у этой схемы довольно гибкая конструкция, определённых правил здесь нет. Именно эта гибкость, наряду с уязвимостью в конфигурации, скрывает достаточно много возможностей для хакерских атак. 

Как нет правил, так нет и единого формата, поэтому реализовывать сервис нужно каждый раз с нуля (то есть писать новый код). Опять же, если интегрировать приложения из одного «семейства» (например, Gmail, YouTube, Google аккаунт и так далее), то каждое из них окажется под угрозой, если вдруг данные одного аккаунта украдут. 

Если снаружи OAuth выглядит простым и лёгким решением, то изнутри всё не так просто. Иногда при входе через другие сервисы приходится дополнительно запрашивать информацию. Разумеется, пользователь не всегда к этому готов — обычно он торопится или раздражается, когда его опять заставляют заполнять какие-то формы. Это решается использованием jwt токена, но не все сервисы его поддерживают. 

Безопасность на базе SSL — сильная помощь для разработчика, но зато она требует подключения вычислительных ресурсов и администрирования. Не вариант для проектов с высокой нагрузкой. 

OAuth, Open ID и SMS

Прежде чем останавливаться на популярном методе авторизации, стоит подумать об альтернативах. Смотрите таблицу, чтобы выбрать вариант, подходящий в вашем случае.  




Oauth

SMS

Open ID 

Цена

бесплатно

платно, цена зависит от тарифа, в среднем 3 ₽ за одно сообщение

бесплатно

Стабильность

высокая

высокая

высокая

Безопасность

средняя, так как использует только один этап аутентификации

высокая

высокая из-за использования двухэтапной аутентификации

Ограничения

может быть ограничен в зависимости от требований провайдера или настройки

сообщение может не дойти, если пользователь находится за границей и вставил в телефон иностранную сим-карту

может быть ограничен в зависимости от требований провайдера или настройки

Как каскадные рассылки дополняют OAuth

С одной стороны, авторизация через OAuth кажется удобной. Но с другой — не все пользователи сидят в соцсетях, тем более помнят от них пароль. Сайты иногда открываются в браузере, где ими не пользуются с начала десятых годов. Поэтому пользователю становится легче зарегистрироваться с нуля, чем вспоминать, как зайти к себе на страницу «ВКонтакте». Ещё легче — уйти с этого сайта. 

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

Каскадные рассылки могут помочь пользователю зарегистрироваться в пару кликов и без OAuth. После неудачной попытки авторизации через соцсети система может подобрать самый выгодный и доступный канал для отправки кода: мессенджер, голосовое сообщение или SMS. Этот сценарий может реализовать клиент МТТ на своей стороне.  Если не сработает один — система рассылок автоматически подберёт следующий. Таким образом можно снизить процент пользователей, которые по какой-то причине не смогли воспользоваться одним способом авторизации и просто ушли с ресурса. 

Раньше бизнес настраивал ретаргетинг либо связывался с ушедшими с сайта пользователями при условии, что они успели оставить свои контакты, не завершив регистрации. Но дать им возможность зарегистрироваться или войти сразу, пока они заинтересованы (и способны на импульсивную покупку), кажется намного более выгодной перспективой.

Заключение

Сегодня забота о пользователе — это забота о процветании своего бизнеса. Потенциальный клиент хочет сайт «без воды», цены на самом видном месте, а если ему и нужно регистрироваться, то желательно очень быстро, пока его не отвлекло интригующее уведомление из Telegram. Поэтому внедрение таких решений, как OAuth, Open ID, SMS, — отличный вывод для современной компании. 

Конечно, не все люди готовы делиться данными своих аккаунтов на сторонних сайтах, поэтому регистрация по SMS тоже должна быть доступна. Но она, в отличие от OAuth, не бесплатна. Поэтому и становятся актуальны каскадные рассылки. С ними не обязательно выбирать какой-то один метод. Часть пользователей, которые помнят пароли от соцсетей и готовы поделиться ими, может авторизовать бесплатно. А той части, которой по какой-то причине делиться аккаунтом некомфортно, можно отправить SMS. Настроить такую опцию можно в МТТ. Поддержка поможет.

Читайте также

Оставьте заявку, и наш менеджер проконсуль­тирует вас и поможет с выбором услуг

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

Решения, которые вам помогут

Файл cookie – это небольшой фрагмент текста, передава­емый в браузер с сайта, который вы посетили. Он помо­гает сайту запомнить информацию о вас, например то, на каком языке вы предпочитаете его просматривать.