Implementación de la autenticación OAuth 2.0

YouTube Data API es compatible con el protocolo OAuth 2.0 para autorizar el acceso a los datos privados del usuario. En esta lista se explican algunos conceptos esenciales de OAuth 2.0:

  • Cuando un usuario intenta utilizar por primera vez una funcionalidad de la aplicación que requiere el acceso 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 la página especifica el scope de acceso que la aplicación solicita para la cuenta del usuario. El scope especifica los recursos que la aplicación puede obtener, insertar, actualizar o suprimir al actuar 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: Se debe registrar la aplicación en Google para poder utilizar la autorización de OAuth 2.0.

Flujos de OAuth 2.0

Las API de Google admiten diversos casos de uso de OAuth 2.0:

  • El flujo de servidor es compatible con las aplicaciones web que pueden almacenar información persistente de forma segura.
  • El flujo de cliente es compatible con las aplicaciones de JavaScript activas en un navegador.
  • El flujo de aplicación instalada es compatible con las aplicaciones instaladas en un dispositivo, como un teléfono o una computadora.
  • El flujo de dispositivo es compatible con dispositivos con capacidades limitadas de entrada, tales como consolas de juegos y cámaras de video.
  • El flujo de la cuenta de servicio es compatible con las interacciones servidor a servidor que no tienen acceso a la información del usuario. Sin embargo, la YouTube Data API no es compatible con 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.