Авторизация с помощью открытого протокола OAuth

Приветствую вас, дорогие друзья! Сегодня я подготовил статью, в которой намерен рассказать об авторизации на внешних ресурсах через OAuth. Открытый протокол OAuth имеет много общего со стандартом OpenID, но при этом они остаются независимыми друг от друга.

Oauth

OAuth — это протокол авторизации, который позволяет пользователю получить права на использование какого-либо ресурса (сайта или приложения) не передавая логин и пароль третьей стороне.

Открытый стандарт OpenID, который является средством децентрализованной системы аутентификации, всего лишь позволяет удостовериться, что пользователь — именно тот, за кого себя выдаёт и не более. А протокол OAuth позволяет авторизовать пользователя и выполнять действия от его имени — это основное и существенное отличие.

Использование OAuth 2.0 для доступа к API Google

Google API используют протокол OAuth 2.0 для аутентификации и авторизации. Google поддерживает работу с веб-серверами и клиентскими приложениями. Реализация сценария аутентификации соответствует спецификации OpenID Connect и прошла сертификацию в OpenID Foundation.

OAuth Google API

Для начала работы необходимо получить учетные данные клиента OAuth 2.0 в консоли Google API. Затем ваш сайт или приложение запрашивает токен доступа с сервера авторизации Google, извлекает токен из ответа и отправляет его в API Google, к которому вы хотите получить доступ. Разработчикам доступна для экспериментов тестовая площадка OAuth 2.0 Playground.

OAuth-авторизация с помощью API Яндекс ID

API Яндекс ID также использует открытый протокол авторизации OAuth 2.0. Для доступа к данным пользователей разработчику необходимо зарегистрировать своё приложение на сервисе Яндекс.OAuth, реализовать получение и обработку OAuth-токенов, а затем предоставить пользователям интерфейс входа через Яндекс.

Yandex OAuth

При использовании OAuth-протокола пользователь не вводит свой пароль на другом сайте, поэтому учётная запись надёжно защищена и не может быть скомпрометирована. Таким образом пользователи Яндекса могут зарегистрироваться и войти в свой аккаунт на стороннем сайте, не заводя новую учётную запись.

Использование Mail ID для OAuth-авторизации

Mail ID предлагает разработчикам API для работы c OAuth-авторизацией Почты Mail.ru. Владелец сайта может добавить кнопку для входа пользователей под своим почтовым аккаунтом. Авторизация API Mail.Ru также основана на протоколе OAuth 2.0.

Mail ID

Процесс регистрации нового пользователя с помощью Mail ID очень прост: пользователь нажимает кнопку Mail ID для входа, и его профиль автоматически формируется на вашем сайте. Добавьте подсказки, и тогда пользователь точно не пропустит быстрый способ авторизации, а вы увеличите аудиторию.

Вход через Сбер ID

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

Протокол взаимодействия между клиентом и партнёром разработан на основе стандарта OpenID Connect. Таким образом пользователи получают возможность войти на сайт партнёра банка по кнопке Сбер ID, а партнёры — настроить простую и быструю аутентификацию.

Open API для авторизации пользователей ВКонтакте

Open API — это система, которая предоставляет пользователям ВКонтакте возможность авторизовываться на вашем сайте. Перед началом работы с Open API необходимо создать новое приложение с типом «Веб-сайт» или «Standalone» и следовать дальнейшим указаниям помощника.

Open API

Это приложение позволяет использовать на сайте все текущие методы ВКонтакте API и упрощает регистрацию новых пользователей, если у них уже есть учётная запись ВКонтакте. SDK (Software Development Kit) содержит готовые реализации основных функций API, библиотеки для популярных платформ используют авторизацию OAuth 2.0 для взаимодействия с API.

Заключение

В качестве заключения напомню своим читателям, что вариантов входа на сайт или в приложение при помощи открытого протокола авторизации OAuth значительно больше, чем представлено в этом обзоре.

API

Свои API для реализации входа на внешние ресурсы имеют Госуслуги (Единая система идентификации и аутентификации), Одноклассники, Twitter, Facebook, GitHub, а также многие другие компании и организации.

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

Являясь современным стандартом идентификации, OAuth использует SSL для сохранения конфиденциальности данных, получает ограниченный доступ к личной информации пользователей, используя специальные токены. На этом всё, буду рад ответить на вопросы.

  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
(9 голосов, в среднем: 4.3 из 5)

Пока никто не оставил комментарий, сделайте это первым!

:) ;) :D :( :cry: :| :o :P 8-) :oops: :roll: :idea:

Отправляя комментарий, вы соглашаетесь с политикой конфиденциальности.