Implementación de la autenticación de OAuth 2.0

YouTube Live Streaming API admite el protocolo OAuth 2.0 para autorizar el acceso a los datos privados del usuario. En la siguiente lista, se explican algunos conceptos principales de OAuth 2.0:

  • Cuando un usuario intenta usar por primera vez una funcionalidad de tu aplicación que requiere que haya accedido a un Google Account or YouTube account, tu aplicación inicia el proceso de autorización de OAuth 2.0.

  • La aplicación dirige al usuario al servidor de autorización de Google. El vínculo a esa página especifica el scope de acceso que solicita tu aplicación para la cuenta del usuario. scope especifica los recursos que tu aplicación puede recuperar, insertar, actualizar o borrar cuando actúa como el usuario autenticado.

  • Si el usuario da su consentimiento y autoriza a la aplicación a acceder a esos recursos, Google genera un token para la aplicación. Dependiendo del tipo de aplicación, puede validar el token o cambiarlo por uno de otro tipo.

    Por ejemplo, una aplicación web del servidor cambia el token que se generó por un token de acceso y otro de actualización. El token de acceso permite a la aplicación autorizar solicitudes en nombre del usuario, mientras que el token de actualización permite a la aplicación obtener un nuevo token de acceso cuando el original expire.

Importante: Para utilizar la autorización de OAuth 2.0, debes obtener credenciales de autorización en la Consola de APIs de Google.

Para obtener más detalles, consulta la Guía de autorización de OAuth 2.0.

Nota: Los canales deben estar aprobados para usar la función de YouTube en vivo, que permite al propietario transmitir contenido en vivo. Si envías solicitudes a la API en nombre de un usuario autenticado cuyo canal no está habilitado o no es apto para transmitir contenido en vivo, la API mostrará un error insufficientPermissions.

Flujos de OAuth 2.0

Las APIs de Google admiten varios casos de uso de OAuth 2.0:

  • El flujo de apps web del servidor admite aplicaciones web que pueden almacenar información persistente de forma segura.
  • El flujo de apps web de JavaScript admite aplicaciones de JavaScript que se ejecutan en un navegador.
  • El flujo de apps para dispositivos móviles y computadoras admite aplicaciones instaladas en un dispositivo, como un teléfono o una computadora.
  • El flujo de TVs y dispositivos de entrada limitada admite dispositivos con capacidades de entrada limitadas, como consolas de juegos y cámaras de video.
  • El flujo de OAuth 2.0 para el flujo de cuentas de servicio admite interacciones servidor a servidor que no tienen acceso a la información del usuario. Sin embargo, YouTube Live Streaming API no admite este flujo. 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.