Nesta página, você vai encontrar respostas para perguntas frequentes sobre como usar o Firebase Authentication e ajuda para solucionar problemas. Caso não encontre o que procura ou precise de ajuda, entre em contato com o suporte do Firebase.
Quais regiões são aceitas para autenticação por telefone?
O Firebase Authentication oferece suporte à verificação de número de telefone globalmente, mas nem todas as redes entregam as mensagens de verificação de forma confiável. As regiões a seguir têm boas taxas de entrega e provavelmente funcionarão bem na autenticação por telefone. Onde observado, algumas transportadoras não estão disponíveis em uma região devido a baixas taxas de sucesso de entrega.
| Região | Código |
|---|---|
| AD | Andorra |
| AE | Emirados Árabes Unidos |
| AF | Afeganistão |
| AG | Antígua e Barbuda |
| AL | Albânia |
| manhã | Armênia |
| AO | Angola |
| AR | Argentina |
| AS | Samoa Americana |
| AT | Áustria |
| AU | Austrália |
| AW | Aruba |
| AZ | Azerbaijão |
| BA | Bósnia e Herzegovina |
| BB | Barbados |
| BD | Bangladesh |
| BE | Bélgica |
| BF | Burkina Faso |
| BG | Bulgária |
| BJ | Benin |
| BM | Bermudas |
| BN | Brunei Darussalam |
| BO | Bolívia |
| BR | Brasil |
| BS | Bahamas |
| BT | Butão |
| BW | Botsuana |
| BY | Bielorrússia |
| BZ | Belize |
| CA | Canadá |
| CD | Congo (Kinshasa) |
| CF | República Centro-Africana |
| CG | Congo (Brazzaville) |
| CH | Suíça |
| CI | Costa do Marfim |
| CK | Ilhas Cook |
| CL | Chile |
| CM | Camarões |
| CO | Colômbia |
| CR | Costa Rica |
| CV | Cabo Verde |
| CW | Curaçao |
| CY | Chipre |
| CZ | República Tcheca |
| DE | Alemanha |
| DJ | Djibouti |
| DK | Dinamarca |
| DM | Dominica |
| O QUE FAZER | República Dominicana |
| DZ | Argélia |
| EC | Equador |
| EG | Egito |
| ES | Espanha |
| ET | Etiópia |
| FI | Finlândia |
| FJ | Fiji |
| FK | Ilhas Malvinas |
| FM | Micronésia |
| FO | Ilhas Faroé |
| FR | França |
| GA | Gabão |
| GB | Reino Unido |
| GD | Granada |
| GE | Geórgia |
| GF | Guiana Francesa |
| GG | Guernsey |
| GH | Gana |
| GI | Gibraltar |
| GL | Groenlândia |
| GM | Gâmbia |
| GP | Guadalupe |
| GQ | Guiné Equatorial |
| GR | Grécia |
| GT | Guatemala |
| GY | Guiana |
| HK | Hong Kong, Região Admin. Especial da China |
| HN | Honduras |
| HR | Croácia |
| HT | Haiti |
| HU | Hungria |
| ID | Indonésia |
| IE | Irlanda |
| IL | Israel |
| IM | Ilha de Man |
| IN | Índia |
| IQ | Iraque |
| IT | Itália |
| JE | Jersey |
| JM | Jamaica |
| JO | Jordânia |
| JP | Japão |
| KE | Quênia |
| KG | Quirguistão |
| KH | Camboja |
| KM | Ilhas Comores |
| KN | São Cristóvão e Névis |
| KR | Coreia do Sul |
| KW | Kuwait |
| KY | Ilhas Cayman |
| KZ | Cazaquistão |
| LA | Lao, RDP |
| LB | Líbano |
| LC | Santa Lúcia |
| LI | Liechtenstein |
| LK | Sri Lanka |
| LS | Lesoto |
| LT | Lituânia |
| LU | Luxemburgo |
| LV | Letônia |
| LY | Líbia |
| MA | Marrocos |
| MD | Moldávia |
| ME | Montenegro |
| MF | São Martinho (parte francesa) |
| MG | Madagascar |
| MK | República da Macedônia do Norte |
| MM | Mianmar |
| MN | Mongólia |
| MO | Macau, Região Administrativa Especial da China |
| MS | Montserrat |
| MT | Malta |
| MU | Ilhas Maurício |
| MW | Malauí |
| MX | México |
| MY | Malásia |
| MZ | Moçambique |
| NA | Namíbia |
| NC | Nova Caledônia |
| NE | Níger |
| NF | Ilha Norfolk |
| NG | Nigéria |
| NI | Nicarágua |
| NL | Holanda |
| NÃO | Noruega |
| NP | Nepal |
| NZ | Nova Zelândia |
| OM | Omã |
| PA | Panamá |
| PE | Peru |
| PG | Papua-Nova Guiné |
| PH | Filipinas |
| PK | Paquistão |
| PL | Polônia |
| tarde/noite | Saint-Pierre e Miquelon |
| PR | Porto Rico |
| PS | Território Palestino |
| PT | Portugal |
| PY | Paraguai |
| QA | Catar |
| RE | Ilha Reunião |
| RO | Romênia |
| RS | Sérvia |
| RU | Federação Russa |
| RW | Ruanda |
| SA | Arábia Saudita |
| SC | Seichelles |
| SE | Suécia |
| SG | Singapura |
| SH | Santa Helena |
| SI | Eslovênia |
| SK | Eslováquia |
| SL | Serra Leoa |
| SN | Senegal |
| SR | Suriname |
| ST | São Tomé e Príncipe |
| SV | El Salvador |
| SZ | Suazilândia |
| TC | Ilhas Turks e Caicos |
| TG | Togo |
| TH | Tailândia |
| TL | Timor Leste |
| TM | Turcomenistão |
| TO | Tonga |
| TR | Turquia |
| TT | Trinidad e Tobago |
| TW | Taiwan, República da China |
| TZ | República Unida da Tanzânia |
| UA | Ucrânia |
| UG | Uganda |
| EUA | Estados Unidos da América |
| UY | Uruguai |
| UZ | Uzbequistão |
| VC | São Vicente e Granadinas |
| VE | Venezuela (República Bolivariana) |
| VG | Ilhas Virgens Britânicas |
| VI | Ilhas Virgens, EUA |
| VN | Vietnã |
| WS | Samoa |
| YE | Iêmen |
| YT | Ilha Mayotte |
| ZA | África do Sul |
| ZM | Zâmbia |
| ZW | Zimbábue |
O que aconteceu com os SMS sem custo financeiro no plano de preços Spark?
A partir de setembro de 2024, para melhorar a segurança e a qualidade do serviço da autenticação por telefone, os projetos do Firebase precisam ser vinculados a uma conta do Cloud Billing para ativar e usar o serviço de SMS.
Como posso evitar o abuso de SMS ao usar a autenticação por telefone?
Para ajudar a proteger seu projeto contra bombeamento de tráfego de SMS e abuso de API, siga estas etapas:
Considere a possibilidade de definir uma política de região de SMS
Confira o uso de SMS regional.
Procure regiões com um número muito alto de SMS enviado e um número muito baixo (ou zero) de SMS verificado. A proporção de verificados/enviados é sua taxa de sucesso. As taxas de sucesso normalmente estão na faixa de 70 a 85%, porque o SMS não é um protocolo de entrega garantido e algumas regiões podem sofrer abuso. Taxas de sucesso inferiores a 50% implicam muitas mensagens SMS enviadas, mas poucos logins bem-sucedidos, que é um indicador comum de usuários de má-fé e bombeamento de tráfego de SMS.
Use a política de região de SMS para negar regiões de SMS com baixas taxas de sucesso ou permitir regiões específicas apenas se o app for destinado apenas à distribuição em determinados mercados.
Limitar seus domínios de autenticação autorizados
Use o painel de configurações de autenticação para gerenciar domínios autorizados. O domínio localhost é adicionado por padrão aos domínios de autenticação aprovados para simplificar o desenvolvimento. Considere remover localhost dos domínios autorizados no seu projeto production para impedir que pessoas mal-intencionadas executem código no seu localhost para acessar seu projeto de produção.
Ativar e aplicar App Check
Ative o App Check para ajudar a proteger seu projeto contra abusos de API atestando que as solicitações vêm apenas de aplicativos associados ao seu projeto.
Para usar o App Check com o Firebase Authentication, faça upgrade para Firebase Authentication with Identity Platform.
Lembre-se de que você precisa aplicar o App Check para Authentication no console Firebase (considere monitorar o tráfego antes de aplicar). Além disso, verifique a lista de sites aprovados pelo reCAPTCHA Enterprise para validar se ela contém apenas os sites de produção e se a lista de aplicativos registrados no seu projeto em App Check está precisa.
O App Check ajuda a proteger contra ataques automatizados, declarando que a chamada vem de um dos seus aplicativos registrados. Ele não impede que os usuários usem seu app de maneiras não intencionais (por exemplo, iniciar e nunca concluir os fluxos de login para gerar SMS enviado).
Os números de telefone foram transferidos para uma nova operadora que aceita a autenticação por telefone?
No momento, a portabilidade dos números entre operadoras impede a entrega de todos os SMSs para esses usuários finais. Não há solução alternativa, e o Firebase está trabalhando nesse problema.
No meu app Android, por que estou recebendo o seguinte
erro:
Google sign in failed ?
Google sign in failedSiga as etapas de solução de problemas nestas perguntas frequentes se você estiver recebendo o seguinte erro:
GoogleFragment: Google sign in failed
com.google.android.gms.common.api.ApiException: 13: Unable to get token.
at
com.google.android.gms.internal.auth-api.zbay.getSignInCredentialFromIntent(com.google.android.gms:play-services-auth@@20.3.0:6)
Verifique se o login do Google está ativado corretamente como um provedor de autenticação:
No console do Firebase, abra a seção Authentication.
Na guia Método de login, desative e reative o método de login do Google (mesmo que ele já esteja ativado):
Abra o método de login do Google, desative-o e clique em Salvar.
Abra novamente o método de login do Google, ative-o e clique em Salvar.
Verifique se o app usa o arquivo de configuração atualizado do Firebase (
google-services.json).
Acesse o arquivo de configuração do app.Verifique se você ainda está recebendo o erro. Se estiver, siga para a próxima etapa da solução de problemas.
Verifique se os clientes OAuth 2.0 subjacentes necessários estão presentes.
Na página Credenciais do console do Google Cloud, consulte a seção IDs do cliente OAuth 2.0.
Se os clientes OAuth 2.0 não estiverem presentes (e você tiver realizado todas as etapas de solução de problemas acima), entre em contato com o suporte.
No app da minha plataforma da Apple, por que estou recebendo o
seguinte erro:
You must specify <clientID> in <GIDConfiguration> ?
You must specify <clientID> in <GIDConfiguration>Siga as etapas de solução de problemas nestas perguntas frequentes se você estiver recebendo o seguinte erro:
You must specify |clientID| in |GIDConfiguration|
Verifique se o login do Google está ativado corretamente como um provedor de autenticação:
No console do Firebase, abra a seção Authentication.
Na guia Método de login, desative e reative o método de login do Google (mesmo que ele já esteja ativado):
Abra o método de login do Google, desative-o e clique em Salvar.
Abra novamente o método de login do Google, ative-o e clique em Salvar.
Verifique se o app usa o arquivo de configuração atualizado do Firebase (
GoogleService-Info.plist).
Acesse o arquivo de configuração do app.Verifique se você ainda está recebendo o erro. Se estiver, siga para a próxima etapa da solução de problemas.
Verifique se os clientes OAuth 2.0 subjacentes necessários estão presentes.
Na página Credenciais do console do Google Cloud, consulte a seção IDs do cliente OAuth 2.0.
Se os clientes OAuth 2.0 não estiverem presentes (e você tiver realizado todas as etapas de solução de problemas acima), entre em contato com o suporte.
No meu app da Web, por que estou recebendo o seguinte
erro:
AuthErrorCode.INVALID_OAUTH_CLIENT_ID ?
AuthErrorCode.INVALID_OAUTH_CLIENT_IDSiga as etapas de solução de problemas nestas perguntas frequentes se você estiver recebendo o seguinte erro:
AuthErrorCode.INVALID_OAUTH_CLIENT_ID
Verifique se o login do Google está ativado corretamente como um provedor de autenticação:
No console do Firebase, abra a seção Authentication.
Na guia Método de login, desative e reative o método de login do Google (mesmo que ele já esteja ativado):
Abra o método de login do Google, desative-o e clique em Salvar.
Abra novamente o método de login do Google, ative-o e clique em Salvar.
Além disso, na configuração do provedor de login do Google da seção Authentication, verifique se o ID e o secret do cliente OAuth correspondem ao cliente da Web exibido na página Credenciais do console do Google Cloud (consulte a seção IDs do cliente OAuth 2.0).
No meu app da Web, por que o login com redirecionamentos
está falhando com o seguinte erro:
This domain YOUR_REDIRECT_DOMAIN is not
authorized to run this operation ?
This domain YOUR_REDIRECT_DOMAIN is not
authorized to run this operationSiga as etapas de solução de problemas nestas perguntas frequentes se você estiver recebendo o seguinte erro:
This domain YOUR_REDIRECT_DOMAIN is not authorized to run this operation.
Esse erro provavelmente é causado porque o domínio de redirecionamento não está listado como um domínio autorizado para o Firebase Authentication ou a chave de API que você usa com o serviço do Firebase Authentication é inválida.
Primeiro, verifique se YOUR_REDIRECT_DOMAIN está na lista de domínios autorizados do projeto do Firebase. Se o domínio de redirecionamento já estiver listado, continue resolvendo o problema de uma chave de API inválida.
Por padrão, o SDK do Firebase Authentication para JavaScript depende da chave de API do seu projeto
do Firebase, rotulado como Browser key, e usa essa chave para verificar se
um URL de redirecionamento de login é válido de acordo com a lista de domínios autorizados.
O Authentication recebe essa chave de API dependendo de como você acessa o SDK do Authentication:
Se você usar os auxiliares de autenticação fornecidos pelo Hosting para fazer login dos usuários com o SDK do Authentication para JavaScript, o Firebase vai receber automaticamente sua chave de API com o restante da configuração do Firebase todas as vezes que você implantar no Firebase Hosting. Confira se o
authDomainno app da WebfirebaseConfigestá configurado corretamente para usar um dos domínios para esse site de Hosting. Para verificar isso, acessehttps://authDomain__/firebase/init.jsone confira se oprojectIdcorresponde ao dofirebaseConfig.Se você hospedar o código de login, use um arquivo
__/firebase/init.jsonpara fornecer a configuração do Firebase ao ajudante de redirecionamento do SDK do Authentication para JavaScript auto-hospedado. A chave de API e oprojectIdlistados nesse arquivo de configuração precisam corresponder ao seu app da WebfirebaseConfig.
Verifique se essa chave de API não foi excluída: acesse o painel APIs e serviços > Credenciais no console do Google Cloud em que todas as chaves de API do seu projeto estão listadas.
Se o
Browser keynão tiver sido excluído, verifique o seguinte:Verifique se a API Firebase Authentication está na lista de APIs permitidas para a chave acessar (saiba mais sobre restrições de API para chaves de API).
Se você auto-hospedar o código de login, verifique se a chave de API listada no arquivo
__/firebase/init.jsoncorresponde à chave de API no console Google Cloud. Corrija a chave no arquivo, se necessário, e reimplante o app.Se o
Browser keyfoi excluído, o Firebase pode gerar uma nova chave de API para você: no console Firebase, acessesettings > Configurações do projeto , depois, na seção Seus apps, clique no seu app da Web. Essa ação cria automaticamente uma chave de API que pode ser vista na seção Configuração e configuração do SDK do seu app da Web.
No console Google Cloud, essa nova chave de API não será chamada de
Browser key. Ela terá o mesmo nome que o apelido do seu App da Web do Firebase. Se você decidir adicionar restrições de API a essa nova chave, verifique se a API Firebase Authentication está na lista de APIs permitidas.Depois que a nova chave de API for criada, siga as etapas abaixo:
Se você usa URLs reservados do Hosting, reimplante seu app no Firebase para que ele possa receber automaticamente a nova chave de API com o restante da configuração do Firebase.
Se você hospedar o código de login, copie a nova chave de API e adicione-a ao arquivo
__/firebase/init.json. Em seguida, reimplante o app.
Como faço para construir manualmente um cliente da Web do OAuth?
Abra a página Credenciais do console do Google Cloud.
Na parte superior da página, selecione Criar credenciais > ID do cliente OAuth.
Se você for solicitado a configurar sua tela de consentimento, siga as instruções exibidas nela e continue com as etapas a seguir nestas perguntas frequentes.
Crie o cliente OAuth da Web:
Em Tipo de aplicativo, selecione Aplicativo da Web.
Em Origens JavaScript autorizadas, adicione o seguinte:
http://localhosthttp://localhost:5000https://PROJECT_ID.firebaseapp.comhttps://PROJECT_ID.web.app
Em URIs de redirecionamento autorizados, adicione o seguinte:
https://PROJECT_ID.firebaseapp.com/__/auth/handlerhttps://PROJECT_ID.web.app/__/auth/handler
Salve o cliente OAuth.
Copie o novo ID do cliente OAuth e a chave secreta do cliente para a área de transferência.
No console do Firebase, abra a seção Authentication.
Na guia Método de login, abra o provedor de Login do Google e cole o ID do cliente do servidor da Web e o secret que você acabou de criar e copiar no console do Google Cloud. Clique em Salvar.
Como %APP_NAME% é determinado para o modelo de e-mail de confirmação que pode ser enviado a um usuário quando ele se inscreve usando um endereço de e-mail e uma senha?
Antes de dezembro de 2022, o %APP_NAME% no modelo de e-mail era preenchido com
o nome da marca OAuth que era automaticamente provisionada sempre que um app Android
era registrado no projeto do Firebase. Agora, como a marca OAuth é
provisionada somente quando o Login do Google está ativado, o seguinte descreve como
%APP_NAME% é determinado:
Se o nome da marca OAuth estiver disponível, o
%APP_NAME%no modelo de e-mail será o nome da marca OAuth (o mesmo que o comportamento anterior a dezembro de 2022).Se o nome da marca OAuth não estiver disponível, confira como o
%APP_NAME%no modelo de e-mail é determinado:Para apps da Web, o
%APP_NAME%será o nome padrão do site do Firebase Hosting (o valor anterior a.firebaseapp.come.web.appe geralmente o ID do projeto do Firebase).Para apps para dispositivos móveis:
Se o nome do pacote do Android ou o ID do pacote do iOS estiver presente na solicitação, o
%APP_NAME%será o nome do app usado na Play Store ou na App Store (respectivamente).Caso contrário, o
%APP_NAME%será o nome padrão do site do Firebase Hosting (o valor anterior a.firebaseapp.come.web.appe, geralmente, o ID do projeto do Firebase).
Se a pesquisa do nome padrão do site do Firebase Hosting falhar, o substituto final será usar o ID do projeto do Firebase como
%APP_NAME%.