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 la aplicación que requiere que este haya accedido a una Google Account or YouTube account, la 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 la aplicación solicita para la cuenta del usuario. El 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: Debes obtener las credenciales de autorización en la Consola de API de Google para poder utilizar la autorización OAuth 2.0.

Nota: Se debe aprobar un canal para usar la función YouTube en vivo, lo que le permite al propietario transmitir su contenido en vivo a ese canal. 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 API de Google admiten varios casos de uso de OAuth 2.0:

  • El flujo de apps web del servidor es compatible con 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 aplicaciones para dispositivos móviles y computadoras de escritorio admite aplicaciones instaladas en un dispositivo, como un teléfono o una computadora.
  • El flujo de TVs y dispositivos de entrada limitada es compatible con dispositivos que tienen capacidades de entrada limitadas, como consolas de juegos y cámaras de video.
  • El flujo de OAuth 2.0 para el flujo de la cuenta de servicio admite interacciones de servidor a servidor que no acceden 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.