Рубрики
Без рубрики

История OAuth 2.0

Это краткое введение в OAuth 2.0. Возможно, вы уже слышали такие термины, как авторизация, авторизация… С пометкой oauth2, java, учебник, для начинающих.

Это краткое введение в OAuth 2.0. Возможно, вы уже слышали такие термины, как авторизации, аутентификации, авторизации OAuth протокол OAuth 2.0, OpenID, OpenID подключения, JWT и ССО…и т. д. Это просто как беспорядок для начинающих. Когда дело доходит до безопасности, основными моментами являются аутентификация и авторизация. Прежде чем мы узнаем об этих вещах, давайте обсудим некоторые основы.

Что означает протокол?

  • Протокол – это не что иное, как официальные правила и предписания.
  • Это просто набор правил, просто объясните, “как это сделать” или “как реализовать”.

Что такое авторизация?

  • Все дело в разрешениях и ролях, которые вам предоставлены.
  • Авторизация никогда не будет раскрывать вашу личность или ваши учетные данные.

Что такое аутентификация?

  • Просто все дело в том, кто вы есть.
  • Если вы прошли аутентификацию в системе, это означает, что система знает, кто вы такой.

Вход без регистрации

Можете ли вы управлять сотнями имен пользователей и паролей? Это просто смешно. Вместо того, чтобы управлять множеством имен пользователей и паролей, теперь вы можете войти в систему через существующую учетную запись. Это может быть учетная запись Google, Facebook или любая другая учетная запись в социальных сетях или любая личная учетная запись.

Например, просто подумайте, что вы собираетесь войти в Soundcloud. Посмотрите на следующий процесс. Вы можете войти в Soundcloud через свою учетную запись Google, не создавая отдельных учетных записей в Soundcloud. Как только вы нажмете на кнопку войти, вы сможете увидеть окно, подобное приведенному ниже.

Если вы нажмете “Продолжить с Google”. Затем откроется отдельное окно. Вы можете увидеть URL-адрес, это Google и просит вас ввести свой адрес электронной почты и пароль. Вы не передаете свои учетные данные третьей стороне.

Как только вы идентифицируетесь в Google, вы успешно входите в Soundcloud. Это очень удобно, безопасно и просто. Под капотом, это процесс OAuth2.0

Что такое OAuth2.0?

  • OAuth2.0 – это протокол авторизации.
  • В нем объясняется, как делегировать авторизацию.
  • Это работает через HTTP
  • Это может быть использовано для авторизации приложений, серверов, устройств… и т.д.
  • Аутентификация на основе токенов зависит от OAuth 2.0 OAuth2.0 никогда не будет передавать вашу личность или учетные данные.
  • В основном это используется внешними приложениями для доступа к любому защищенному контенту.

Роли OAuth2.0

По сути, OAuth2.0 описывает четыре роли. Давайте сравним эти роли с нашим примером

  • Владелец ресурса Это на самом деле вы, то есть владелец защищенного ресурса.

  • Клиент Это приложение, которое запрашивает доступ к защищенному ресурсу. Вот оно soundcloud.com

  • Сервер ресурсов Это сервер, на котором размещаются защищенные ресурсы. Вот оно google.com

  • Сервер авторизации Этот сервер выдает токены доступа Это может быть Google или отдельные серверы авторизации, используемые Google.

Каналы авторизации OAuth2.0

OAuth2.0 использует процесс двустороннего канала, чтобы обеспечить очень безопасный процесс авторизации. В зависимости от ситуации мы можем использовать передний канал, задний канал или оба канала.

  • Передний канал

    • Это подходит для чисто одностраничных приложений, у которых нет бэкэнда.
    • Это основано на браузере
  • Обратный канал

    • Это основано на сервере
    • Задний канал не виден интерфейсу
    • Вы сможете понять эти каналы позже в этом посте. Продолжайте читать.

Потоки авторизации OAuth2.0

  • Поток кодов авторизации (передний канал + задний канал)
  • Неявный поток (только передний канал)
  • Поток учетных данных пароля владельца ресурса (только по обратному каналу)
  • Поток учетных данных клиента (обратный канал) В основном мы используем поток кода авторизации и неявный поток.

Поток кода авторизации OAuth2.0

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

Оригинал: “https://dev.to/raviyasas/the-story-of-oauth-2-0-16g1”