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 dos principais conceitos do OAuth 2.0:

  • Quando um usuário tenta usar a funcionalidade em um app que exige login em uma 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 seu aplicativo 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: você precisa receber credenciais de autorização no Console de APIs do Google para usar a autorização do OAuth 2.0.

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

Fluxos do OAuth 2.0

As APIs do Google são compatíveis com vários casos de uso do OAuth 2.0:

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