Implementar autenticação OAuth 2.0

O YouTube Live Streaming API é compatível com o protocolo OAuth 2.0 para autorizar o acesso a dados particulares do usuário. A lista abaixo explica alguns conceitos principais de OAuth 2.0:

  • Quando um usuário tenta usar uma funcionalidade no seu app que exige que ele faça login em um Google Account or YouTube account, o app inicia o processo de autorização OAuth 2.0.

  • Seu aplicativo redireciona o usuário ao servidor de autorização do Google. O link para essa página especifica o scope de acesso que o app está solicitando para a conta do usuário. O scope especifica os recursos que o aplicativo pode recuperar, inserir, atualizar ou excluir ao agir como usuário autenticado.

  • Se o usuário consentir em autorizar seu aplicativo para acessar os recursos, o Google retorna um token a seu aplicativo. Dependendo do tipo do aplicativo, ele valida ou token ou troca-o por um tipo de token diferente.

    Por exemplo, um aplicativoda Web do lado do servidor troca o token retornado por um token de acesso e um token de atualização. Com o token de acesso, o aplicativo pode autorizar solicitações em nome do usuário. Já o token de atualização permite que o aplicativo recupere um novo token de acesso quando o token de acesso original expirar.

Importante: para usar a autorização OAuth 2.0, você precisa adquirir credenciais de autorização no Google API Console.

Para mais detalhes, consulte o Guia de autorização do OAuth 2.0.

Observação: um canal precisa ser aprovado para usar o recurso do YouTube Live, que permite ao proprietário transmitir conteúdo ao vivo. Se você enviar solicitações de API em nome de um usuário autenticado cujo canal não está ativado ou qualificado para transmitir conteúdo ao vivo, a API vai retornar um erro insufficientPermissions.

Fluxos do OAuth 2.0

As APIs do Google oferecem suporte a vários casos de uso do OAuth 2.0:

  • O fluxo de apps da Web do servidor oferece suporte a aplicativos da Web que podem armazenar informações persistentes com segurança.
  • O fluxo de apps da Web em JavaScript oferece suporte a aplicativos JavaScript em execução em um navegador.
  • O fluxo de apps para dispositivos móveis e computadores oferece suporte a aplicativos instalados em um dispositivo, como um smartphone ou computador.
  • O fluxo de TVs e dispositivos de entrada limitada oferece suporte a dispositivos com recursos de entrada limitados, como consoles de jogos e câmeras de vídeo.
  • O fluxo OAuth 2.0 para contas de serviço aceita interações de servidor para servidor que não acessam as informações do usuário. No entanto, o YouTube Live Streaming API não oferece suporte a esse fluxo. 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.