Внедрение аутентификации 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 возвращает токен вашему приложению. В зависимости от типа вашего приложения оно либо проверяет токен, либо обменивает его на другой тип токена.

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

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

Примечание. Канал должен быть одобрен для использования функции 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.