Por que estou vendo esta mensagem?
Esse erro ocorre quando detectamos que outro projeto do Firebase ou Google Cloud contém um ID de cliente do OAuth 2.0 com o nome de pacote e SHA-1 especificados. Quando você adiciona o Firebase a um app do Android no Console do Firebase, tentamos gerar um ID de cliente do Google OAuth 2.0 para seu app, que é usado para autenticar o app com algumas APIs do Google, como App Invites ou Drive API. Por motivos de segurança, cada pareamento de nome de pacote e impressão digital SHA-1 usado para criar um ID de cliente do OAuth 2.0 deve ser único em todos os projetos do Firebase e Google Cloud.
Que impacto isso pode ter no meu app?
Atualmente, dois recursos do Firebase exigem a configuração do nome de pacote e SHA-1 para seus apps do Android:
- Invites: não funciona se um SHA-1 não for fornecido. Não há forma de usar um SHA-1 de outro projeto atualmente.
- Authentication: para usar o Google como provedor de autenticação, você deve incluir manualmente o ID de cliente de seu projeto existente na lista de permissões da configuração de login.
O que posso fazer?
Se você não usar o Firebase invites ou o Google como seu provedor de login do Firebase Auth, não é preciso fazer nada. Se você usar um desses recursos, veja qual dos cenários a seguir descreve melhor sua situação:
Eu sei qual projeto do Google Cloud contém o ID de cliente do OAuth 2.0 conflitante e não me importo de excluir meu projeto do Firebase, ou preciso usar o Invites.Se você criou o projeto recentemente ou não tiver avançado muito para adicionar o Firebase ao seu app, a abordagem mais simples é excluir seu projeto e importar seu projeto do Google. Para isso:
- Exclua seu projeto do Firebase. Essa ação é permanente e excluirá todos os dados associados ao projeto.
- Vá para o Console do Firebase.
- Clique em Importar projeto do Google.
- Selecione o projeto existente que contém o ID de cliente do OAuth 2.0 e clique em Adicionar Firebase.
Se você não puder importar seu projeto existente e não planejar usar o Invites, você pode incluir seu ID de cliente do OAuth 2.0 na lista de permissões manualmente para usar o Google como provedor de login.
Primeiro, encontre o ID de cliente do OAuth 2.0 do seu projeto existente. Para isso:
- Vá para a página "Credenciais" do Console do Google Cloud. Se o projeto que contém o ID de cliente do OAuth 2.0 não for aberto automaticamente, selecione-o no menu suspenso no canto superior direito da página.
- Na seção IDs de cliente do OAuth 2.0, localize o nome do cliente que contém o SHA-1 e o nome do pacote usados em seu projeto do Firebase. Se não tiver certeza de qual é o certo, clique no nome do cliente para ver os detalhes.
- Quando localizar o nome do cliente correto, copie o valor completo na coluna "ID de cliente".
Depois, inclua este ID de cliente na lista de permissões para usar o Google como provedor de login. Para isso:
- Vá para o Console do Firebase e selecione seu projeto.
- Selecione Auth no menu à esquerda.
- Selecione a guia Método de login.
- Na página Método de login, clique em Google no cartão Provedores de login.
- Expanda a opção Adicionar IDs de cliente à lista de permissões a partir de projetos externos.
- Cole seu ID de cliente do Console do Cloud no campo de texto e clique em Adicionar.
Se você não souber qual projeto contém o ID de cliente do OAuth 2.0 conflitante, tente estas etapas para localizá-lo:
- Vá para a página Credenciais do Console do Google Cloud.
- Na seção IDs de cliente do OAuth 2.0, clique no nome do cliente para ver o SHA-1 e o nome do pacote usados para criar o ID de cliente. Repita esse processo até encontrar o nome do cliente correto ou até tentar todos os clientes.
Se você não encontrar um nome de cliente que contenha o SHA-1 e o nome do pacote correspondentes, selecione outro projeto no menu suspenso no canto direito da página e tente o procedimento acima novamente.
Em alguns casos, o cliente do OAuth 2.0 pode estar em um projeto de outra pessoa. Se você não conseguir encontrar o projeto conflitante, entre em contato com o suporte do Firebase e informe o nome do pacote e a impressão digital SHA-1 conflitantes.