Implementação da autenticação OAuth 2.0

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

  • Na primeira tentativa do usuário em usar a funcionalidade em seu aplicativo que exige que o usuário esteja conectado a um Google Account or YouTube account, seu aplicativo 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 a página especifica o scope do acesso que seu aplicativo está solicitando para a conta do usuário. O scope especifica os recursos que seu aplicativo pode recuperar, inserir, atualizar e 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 aplicativo da 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 registrar seu aplicativo com o Google para que seja possível usar a autorização OAuth 2.0.

Fluxos do OAuth 2.0

As APIs do Google são compatíveis com diversos usos do OAuth 2.0:

  • O fluxo do lado do servidor é compatível com aplicativos da Web que armazenam informações persistentes com segurança.
  • O fluxo do lado do cliente é compatível com aplicativos JavaScript em execução em um navegador.
  • O fluxo de aplicativo instalado é compatível com aplicativos instalados em um dispositivo, como um telefone ou computador.
  • O fluxo de dispositivo é compatível com dispositivos com capacidade limitada de entrada, tais como consoles de jogos e câmeras de vídeo.
  • O fluxo de conta de serviço é compatível com interações de servidor para servidor que não acessam informações do usuário. Entretanto, o YouTube Data API não é compatível com este fluxo. Como não há uma forma de vincular uma conta de serviço a uma conta do YouTube, as tentativas de autorização das solicitações com esse fluxo gerarão um erro NoLinkedYouTubeAccount.