Реализация аутентификации OAuth 2.0

YouTube Live Streaming API поддерживает протокол OAuth 2.0 для авторизации доступа к личным данным пользователя. В списке ниже объясняются некоторые основные концепции OAuth 2.0 :

  • Когда пользователь впервые пытается использовать функции вашего приложения, требующие входа в Google Account or YouTube account , ваше приложение инициирует процесс авторизации OAuth 2.0 .

  • Ваше приложение направляет пользователя на сервер авторизации Google. Ссылка на эту страницу определяет scope доступа, который ваше приложение запрашивает для учетной записи пользователя. scope определяет ресурсы, которые ваше приложение может извлекать, вставлять, обновлять или удалять, действуя в качестве аутентифицированного пользователя.

  • Если пользователь соглашается разрешить вашему приложению доступ к этим ресурсам, Google возвращает токен вашему приложению. В зависимости от типа вашего приложения оно либо проверяет токен, либо заменяет его на токен другого типа.

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

Важно! Чтобы использовать авторизацию OAuth 2.0, вам необходимо получить учетные данные для авторизации в консоли Google API .

Примечание. Канал должен быть одобрен для использования функции YouTube Live, которая позволяет владельцу канала транслировать контент на этот канал в прямом эфире. Если вы отправляете запросы API от имени аутентифицированного пользователя, чей канал не включен или не имеет права транслировать контент в реальном времени, API вернет ошибку insufficientPermissions .

Потоки OAuth 2.0

API Google поддерживают несколько вариантов использования OAuth 2.0:

  • Поток веб-приложений на стороне сервера поддерживает веб-приложения, которые могут безопасно хранить постоянную информацию.
  • Поток веб-приложений JavaScript поддерживает приложения JavaScript, работающие в браузере.
  • Поток приложений для мобильных и настольных компьютеров поддерживает приложения, установленные на устройстве, например телефоне или компьютере.
  • Поток телевизоров и устройств с ограниченным вводом поддерживает устройства с ограниченными возможностями ввода, такие как игровые консоли и видеокамеры.
  • Поток OAuth 2.0 для потока учетной записи службы поддерживает взаимодействие между серверами, при котором не осуществляется доступ к информации пользователя. Однако YouTube Live Streaming API не поддерживает этот поток. Since there is no way to link a Service Account to a YouTube account, attempts to authorize requests with this flow will generate a NoLinkedYouTubeAccount error.