Auf dieser Seite finden Sie Hilfe bei der Fehlerbehebung und Antworten auf häufig gestellte Fragen zur Verwendung von Firebase Authentication. Wenn Sie nicht finden, wonach Sie suchen, oder weitere Hilfe benötigen, wenden Sie sich an den Firebase-Support.
In welchen Regionen wird die Telefonauthentifizierung unterstützt?
Firebase Authentication unterstützt die Telefonnummer-Bestätigung weltweit, aber nicht alle Netzwerke stellen Bestätigungsnachrichten zuverlässig zu. In den folgenden Regionen ist die Zustellrate hoch. Die Telefonauthentifizierung sollte dort also gut funktionieren. Einige Mobilfunkanbieter sind in einer Region aufgrund schlechter Zustellraten nicht verfügbar.
| Region | Code |
|---|---|
| AD | Andorra |
| AE | Vereinigte Arabische Emirate |
| AF | Afghanistan |
| AG | Antigua und Barbuda |
| AL | Albanien |
| AM | Armenien |
| AO | Angola |
| AR | Argentinien |
| AS | Amerikanisch-Samoa |
| AT | Österreich |
| AE | Australien |
| AW | Aruba |
| AZ | Aserbaidschan |
| BA | Bosnien und Herzegowina |
| BB | Barbados |
| BD | Bangladesch |
| BE | Belgien |
| BF | Burkina Faso |
| BG | Bulgarien |
| BJ | Benin |
| BM | Bermuda |
| BN | Brunei Darussalam |
| BO | Bolivien |
| BR | Brasilien |
| BS | Bahamas |
| BT | Bhutan |
| BW | Botsuana |
| BY | Belarus |
| BZ | Belize |
| Zertifizierungsstelle | Kanada |
| CD | Kongo (Kinshasa) |
| CF | Zentralafrikanische Republik |
| CG | Kongo (Brazzaville) |
| CH | Schweiz |
| CI | Côte d'Ivoire |
| CK | Cookinseln |
| Änderungsliste | Chile |
| CM | Kamerun |
| CO | Kolumbien |
| CR | Costa Rica |
| CV | Cabo Verde |
| CW | Curaçao |
| CY | Zypern |
| CZ | Tschechien |
| DE | Deutschland |
| DJ | Dschibuti |
| DK | Dänemark |
| DM | Dominica |
| DO | Dominikanische Republik |
| DZ | Algerien |
| EC | Ecuador |
| EG | Ägypten |
| ES | Spanien |
| ET | Äthiopien |
| FI | Finnland |
| FJ | Fidschi |
| FK (Fremdschlüssel) | Falklandinseln (Malwinen) |
| FM | Mikronesien, Föderierte Staaten von |
| FO | Färöer |
| FR | Frankreich |
| GA | Gabun |
| GB | Vereinigtes Königreich |
| TD | Grenada |
| GE | Georgien |
| GF | Französisch-Guayana |
| GG | Guernsey |
| GH | Ghana |
| GI | Gibraltar |
| GL | Grönland |
| GM | Gambia |
| GP | Guadeloupe |
| GQ | Äquatorialguinea |
| GR | Griechenland |
| GT | Guatemala |
| GY | Guyana |
| HK | Sonderverwaltungsregion Hongkong der Volksrepublik China |
| HN | Honduras |
| HR | Kroatien |
| HZ | Haiti |
| HU | Ungarn |
| ID | Indonesien |
| IE | Irland |
| IL | Israel |
| IM | Isle of Man |
| IN | Indien |
| IQ | Irak |
| IT | Italien |
| JE | Jersey |
| JM | Jamaika |
| JO | Jordanien |
| JP | Japan |
| KE | Kenia |
| KG | Kirgisistan |
| KH | Kambodscha |
| KM | Komoren |
| KN | Saint Kitts und Nevis |
| KR | Südkorea |
| KW | Kuwait |
| KY | Kaimaninseln |
| KZ | Kasachstan |
| LA | Laos |
| LB | Libanon |
| LC | St. Lucia |
| LI | Liechtenstein |
| LK | Sri Lanka |
| LS | Lesotho |
| LT | Litauen |
| LU | Luxemburg |
| LV | Lettland |
| LY | Libyen |
| MA | Marokko |
| MD | Republik Moldau |
| ME | Montenegro |
| MF | St. Martin (französischer Teil) |
| MG | Madagaskar |
| MK | Mazedonien |
| MM | Myanmar |
| MN | Mongolei |
| MO | Macau (chinesische Sonderverwaltungsregion) |
| MS | Montserrat |
| MT | Malta |
| MU | Mauritius |
| MW | Malawi |
| MX | Mexiko |
| MY | Malaysia |
| MZ | Mosambik |
| – | Namibia |
| NC | Neukaledonien |
| NO | Niger |
| NF | Norfolkinsel |
| NG | Nigeria |
| NI | Nicaragua |
| NL | Niederlande |
| NEIN | Norwegen |
| NP | Nepal |
| NZ | Neuseeland |
| OM | Oman |
| PA | Panama |
| PE | Peru |
| PG | Papua-Neuguinea |
| PH | Philippinen |
| PK (Primärschlüssel) | Pakistan |
| PL | Polen |
| PM | Saint-Pierre und Miquelon |
| PR | Puerto Rico |
| PS | Palästinensische Autonomiegebiete |
| PT | Portugal |
| PY | Paraguay |
| QA | Katar |
| RE | Réunion |
| RO | Rumänien |
| RS | Serbien |
| RU | Russische Föderation |
| RW | Ruanda |
| SA | Saudi-Arabien |
| SC | Seychellen |
| SE | Schweden |
| SG | Singapur |
| ES | St. Helena |
| SI | Slowenien |
| SK | Slowakei |
| SL | Sierra Leone |
| SN | Senegal |
| SR | Suriname |
| ST | São Tomé und Príncipe |
| SV | El Salvador |
| SZ | Swasiland |
| TC | Turks- und Caicosinseln |
| TG | Togo |
| TH | Thailand |
| TL | Timor-Leste |
| Marken | Turkmenistan |
| TO | Tonga |
| TR | Türkei |
| TT | Trinidad und Tobago |
| TW | Taiwan, Republik China |
| TZ | Tansania |
| UA | Ukraine |
| UG | Uganda |
| USA | USA |
| UY | Uruguay |
| UZ | Usbekistan |
| VC | St. Vincent und die Grenadinen |
| VE | Venezuela (Bolivarische Republik) |
| VG | Britische Jungferninseln |
| VI | Amerikanische Jungferninseln |
| VN | Vietnam |
| WS | Samoa |
| YE | Jemen |
| YT | Mayotte |
| ZA | Südafrika |
| ZM | Sambia |
| ZW | Simbabwe |
Was ist mit den kostenlosen SMS im Spark-Tarif passiert?
Ab September 2024 müssen Firebase-Projekte mit einem Cloud Billing-Konto verknüpft sein, um den SMS-Dienst zu aktivieren und zu nutzen. So soll die Sicherheit und Dienstqualität der Telefonnummern-Authentifizierung verbessert werden.
Wie kann ich SMS-Missbrauch bei der Telefonauthentifizierung verhindern?
So schützen Sie Ihr Projekt vor SMS-Traffic-Pumping und API-Missbrauch:
Richtlinie für SMS-Regionen festlegen
-
Suchen Sie nach Regionen mit einer sehr hohen Anzahl gesendeter SMS und einer sehr niedrigen Anzahl (oder null) bestätigter SMS. Das Verhältnis von bestätigten zu gesendeten Nachrichten ist Ihre Erfolgsrate. Gesunde Erfolgsraten liegen in der Regel zwischen 70 und 85 %, da SMS kein Protokoll mit garantierter Zustellung ist und in einigen Regionen Missbrauch auftreten kann. Erfolgsraten unter 50% deuten auf viele gesendete SMS, aber wenige erfolgreiche Anmeldungen hin. Das ist ein häufiges Anzeichen für betrügerische Aktivitäten und das Pumpen von SMS-Traffic.
Verwenden Sie die SMS-Regionsrichtlinie, um SMS-Regionen mit niedrigen Erfolgsraten abzulehnen oder bestimmte Regionen nur zuzulassen, wenn Ihre App nur für die Verteilung in bestimmten Märkten vorgesehen ist.
Autorisierte Authentifizierungsdomains einschränken
Verwenden Sie das Dashboard für Authentifizierungseinstellungen, um autorisierte Domains zu verwalten. Die Domain localhost wird standardmäßig den genehmigten Authentifizierungsdomains hinzugefügt, um die Entwicklung zu vereinfachen. Entfernen Sie localhost aus den autorisierten Domains in Ihrem Produktionsprojekt, um zu verhindern, dass böswillige Akteure Code auf ihrem localhost ausführen, um auf Ihr Produktionsprojekt zuzugreifen.
App Check aktivieren und erzwingen
Aktivieren Sie App Check, um Ihr Projekt vor API-Missbrauch zu schützen. Damit wird bestätigt, dass Anfragen nur von Anwendungen stammen, die mit Ihrem Projekt verknüpft sind.
Wenn Sie App Check mit Firebase Authentication verwenden möchten, müssen Sie ein Upgrade auf Firebase Authentication with Identity Platform durchführen.
Denken Sie daran, dass Sie App Check für Authentication in der Firebase-Konsole erzwingen müssen. Beobachten Sie den Traffic, bevor Sie die Erzwingung aktivieren. Prüfen Sie außerdem die Liste der genehmigten Websites für reCAPTCHA Enterprise, um sicherzustellen, dass sie nur Ihre Produktionswebsites enthält und dass die Liste der Anwendungen, die in App Check für Ihr Projekt registriert sind, korrekt ist.
App Check schützt vor automatisierten Angriffen, indem bestätigt wird, dass der Aufruf von einer Ihrer registrierten Anwendungen stammt. Sie verhindert nicht, dass Nutzer Ihre App auf unerwünschte Weise verwenden, z. B. indem sie Anmeldevorgänge starten, aber nie abschließen, um gesendete SMS zu generieren.
Werden Telefonnummern, die zu einem neuen Mobilfunkanbieter portiert wurden, von der Telefonauthentifizierung unterstützt?
Derzeit führt die Portierung von Nummern zwischen Mobilfunkanbietern dazu, dass alle SMS für diese Endnutzer nicht zugestellt werden können. Es gibt keine Problemumgehung und Firebase arbeitet an einer Lösung.
Warum erhalte ich in meiner Android-App den folgenden Fehler:
Google sign in failed ?
Google sign in failedFühren Sie die Schritte zur Fehlerbehebung in diesem FAQ aus, wenn Sie die folgende Fehlermeldung erhalten:
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)
Prüfen Sie, ob die Google-Anmeldung als Authentifizierungsanbieter aktiviert ist:
Öffnen Sie in der Firebase-Konsole den Bereich Authentication.
Deaktivieren Sie auf dem Tab Anmeldemethode die Anmeldemethode Google und aktivieren Sie sie dann wieder (auch wenn sie bereits aktiviert ist):
Öffnen Sie die Anmeldemethode Google, deaktivieren Sie sie und klicken Sie dann auf Speichern.
Öffnen Sie die Anmeldemethode Google noch einmal, aktivieren Sie sie und klicken Sie dann auf Speichern.
Achten Sie darauf, dass Ihre App die aktuelle Firebase-Konfigurationsdatei (
google-services.json) verwendet.
Konfigurationsdatei Ihrer App abrufenPrüfen Sie, ob der Fehler weiterhin auftritt. Wenn ja, fahre mit dem nächsten Schritt zur Fehlerbehebung fort.
Prüfen Sie, ob die erforderlichen zugrunde liegenden OAuth 2.0-Clients vorhanden sind.
Suchen Sie in der Google Cloud-Konsole auf der Seite Anmeldedaten im Bereich OAuth 2.0-Client-IDs.
Wenn keine OAuth 2.0-Clients vorhanden sind (und Sie alle oben genannten Schritte zur Fehlerbehebung ausgeführt haben), wenden Sie sich an den Support.
Warum erhalte ich in meiner Apple-Plattform-App den folgenden Fehler:
You must specify <clientID> in <GIDConfiguration> ?
You must specify <clientID> in <GIDConfiguration>Führen Sie die Schritte zur Fehlerbehebung in diesem FAQ aus, wenn Sie die folgende Fehlermeldung erhalten:
You must specify |clientID| in |GIDConfiguration|
Prüfen Sie, ob die Google-Anmeldung als Authentifizierungsanbieter aktiviert ist:
Öffnen Sie in der Firebase-Konsole den Bereich Authentication.
Deaktivieren Sie auf dem Tab Anmeldemethode die Anmeldemethode Google und aktivieren Sie sie dann wieder (auch wenn sie bereits aktiviert ist):
Öffnen Sie die Anmeldemethode Google, deaktivieren Sie sie und klicken Sie dann auf Speichern.
Öffnen Sie die Anmeldemethode Google noch einmal, aktivieren Sie sie und klicken Sie dann auf Speichern.
Achten Sie darauf, dass Ihre App die aktuelle Firebase-Konfigurationsdatei (
GoogleService-Info.plist) verwendet.
Konfigurationsdatei Ihrer App abrufenPrüfen Sie, ob der Fehler weiterhin auftritt. Wenn ja, fahre mit dem nächsten Schritt zur Fehlerbehebung fort.
Prüfen Sie, ob die erforderlichen zugrunde liegenden OAuth 2.0-Clients vorhanden sind.
Suchen Sie in der Google Cloud-Konsole auf der Seite Anmeldedaten im Bereich OAuth 2.0-Client-IDs.
Wenn keine OAuth 2.0-Clients vorhanden sind (und Sie alle oben genannten Schritte zur Fehlerbehebung ausgeführt haben), wenden Sie sich an den Support.
Warum erhalte ich in meiner Web-App den folgenden Fehler:
AuthErrorCode.INVALID_OAUTH_CLIENT_ID ?
AuthErrorCode.INVALID_OAUTH_CLIENT_IDFühren Sie die Schritte zur Fehlerbehebung in diesem FAQ aus, wenn Sie die folgende Fehlermeldung erhalten:
AuthErrorCode.INVALID_OAUTH_CLIENT_ID
Prüfen Sie, ob die Google-Anmeldung als Authentifizierungsanbieter aktiviert ist:
Öffnen Sie in der Firebase-Konsole den Bereich Authentication.
Deaktivieren Sie auf dem Tab Anmeldemethode die Anmeldemethode Google und aktivieren Sie sie dann wieder (auch wenn sie bereits aktiviert ist):
Öffnen Sie die Anmeldemethode Google, deaktivieren Sie sie und klicken Sie dann auf Speichern.
Öffnen Sie die Anmeldemethode Google noch einmal, aktivieren Sie sie und klicken Sie dann auf Speichern.
Prüfen Sie außerdem, ob die OAuth-Client-ID und das Secret in der Google-Anmeldeanbieterkonfiguration des Abschnitts Authentication mit dem Webclient übereinstimmen, der auf der Seite Anmeldedaten der Google Cloud-Konsole angezeigt wird (im Abschnitt OAuth 2.0-Client-IDs).
Warum schlägt die Anmeldung mit Weiterleitungen in meiner Web-App mit dem folgenden Fehler fehl:
This domain YOUR_REDIRECT_DOMAIN is not
authorized to run this operation ?
This domain YOUR_REDIRECT_DOMAIN is not
authorized to run this operationFühren Sie die Schritte zur Fehlerbehebung in diesem FAQ aus, wenn Sie die folgende Fehlermeldung erhalten:
This domain YOUR_REDIRECT_DOMAIN is not authorized to run this operation.
Dieser Fehler wird höchstwahrscheinlich dadurch verursacht, dass Ihre Weiterleitungsdomain nicht als autorisierte Domain für Firebase Authentication aufgeführt ist oder der API-Schlüssel, den Sie mit dem Firebase Authentication-Dienst verwenden, ungültig ist.
Prüfen Sie zuerst, ob YOUR_REDIRECT_DOMAIN in der Liste der autorisierten Domains für Ihr Firebase-Projekt enthalten ist. Wenn Ihre Weiterleitungsdomain dort bereits aufgeführt ist, fahren Sie mit der Fehlerbehebung bei einem ungültigen API-Schlüssel fort.
Standardmäßig verwendet das Firebase Authentication JS SDK den API-Schlüssel für Ihr Firebase-Projekt, der als Browser key gekennzeichnet ist. Mit diesem Schlüssel wird geprüft, ob eine Anmelde-Weiterleitungs-URL gemäß der Liste der autorisierten Domains gültig ist.
Authentication erhält diesen API-Schlüssel je nach Zugriff auf das Authentication SDK:
Wenn Sie Hosting-bereitgestellte Auth-Helfer verwenden, um Nutzer mit dem Authentication JS SDK anzumelden, ruft Firebase Ihren API-Schlüssel automatisch mit dem Rest Ihrer Firebase-Konfiguration ab, wenn Sie in Firebase Hosting bereitstellen. Achten Sie darauf, dass die
authDomainin Ihrer Web-AppfirebaseConfigrichtig konfiguriert ist, um eine der Domains für diese Hosting-Website zu verwenden. Sie können dies überprüfen, indem Sie zuhttps://authDomain__/firebase/init.jsongehen und prüfen, ob dieprojectIdmit der aus IhremfirebaseConfigübereinstimmt.Wenn Sie den Anmeldecode selbst hosten, können Sie eine
__/firebase/init.json-Datei verwenden, um die Firebase-Konfiguration für den selbst gehosteten Authentication JS SDK-Weiterleitung-Helper bereitzustellen. Der API-Schlüssel und die in dieser Konfigurationsdatei aufgeführteprojectIdsollten mit Ihrer Web-AppfirebaseConfigübereinstimmen.
Prüfen Sie, ob dieser API-Schlüssel gelöscht wurde: Rufen Sie in der Google Cloud-Konsole den Bereich APIs & Dienste > Anmeldedaten auf. Dort sind alle API-Schlüssel für Ihr Projekt aufgeführt.
Wenn die
Browser keynicht gelöscht wurde, prüfen Sie Folgendes:Prüfen Sie, ob die Firebase Authentication API in der Liste der zulässigen APIs für den Schlüssel enthalten ist (weitere Informationen zu API-Einschränkungen für API-Schlüssel).
Wenn Sie den Anmeldecode selbst hosten, muss der in der Datei
__/firebase/init.jsonaufgeführte API-Schlüssel mit dem API-Schlüssel in der Google Cloud-Konsole übereinstimmen. Korrigieren Sie den Schlüssel in der Datei, falls erforderlich, und stellen Sie Ihre App dann noch einmal bereit.Wenn
Browser keygelöscht wurde, können Sie in Firebase einen neuen API-Schlüssel generieren lassen: Rufen Sie in der Firebase-Konsolesettings > Projekteinstellungen auf und klicken Sie dann im Bereich Meine Apps auf Ihre Web-App. Dadurch wird automatisch ein API-Schlüssel erstellt, den Sie im Bereich SDK-Einrichtung und -Konfiguration für Ihre Web-App sehen können.
In der Google Cloud-Konsole wird dieser neue API-Schlüssel nicht
Browser keygenannt, sondern hat denselben Namen wie der Aliasname Ihrer Firebase-Web-App. Wenn Sie diesem neuen API-Schlüssel API-Einschränkungen hinzufügen, muss die Firebase Authentication API in der Liste der zulässigen APIs enthalten sein.Nachdem Sie den neuen API-Schlüssel erstellt haben, führen Sie die entsprechenden Schritte unten aus:
Wenn Sie reservierte Hosting-URLs verwenden, stellen Sie Ihre App noch einmal in Firebase bereit, damit sie automatisch den neuen API-Schlüssel mit dem Rest Ihrer Firebase-Konfiguration abrufen kann.
Wenn Sie den Anmeldecode selbst hosten, kopieren Sie den neuen API-Schlüssel und fügen Sie ihn in die Datei
__/firebase/init.jsonein. Stellen Sie die App dann noch einmal bereit.
Wie erstelle ich einen OAuth-Webclient manuell?
Öffnen Sie in der Google Cloud-Konsole die Seite Anmeldedaten.
Wählen Sie oben auf der Seite Anmeldedaten erstellen > OAuth-Client-ID aus.
Wenn Sie aufgefordert werden, den Zustimmungsbildschirm zu konfigurieren, folgen Sie der Anleitung auf dem Bildschirm und fahren Sie dann mit den folgenden Schritten dieser FAQ fort.
OAuth-Webclient erstellen:
Wählen Sie als Anwendungstyp die Option Webanwendung aus.
Fügen Sie für die Autorisierten JavaScript-Quellen Folgendes hinzu:
http://localhosthttp://localhost:5000https://PROJECT_ID.firebaseapp.comhttps://PROJECT_ID.web.app
Fügen Sie für die Autorisierten Weiterleitungs-URIs Folgendes hinzu:
https://PROJECT_ID.firebaseapp.com/__/auth/handlerhttps://PROJECT_ID.web.app/__/auth/handler
Speichern Sie den OAuth-Client.
Kopieren Sie die neue OAuth-Client-ID und den neuen Clientschlüssel in die Zwischenablage.
Öffnen Sie in der Firebase-Konsole den Bereich Authentication.
Öffnen Sie auf dem Tab Anmeldemethode den Anbieter Google-Anmeldung und fügen Sie die Client-ID und das Secret des Webservers ein, die Sie gerade in der Google Cloud-Konsole erstellt und kopiert haben. Klicken Sie auf Speichern.
Wie wird %APP_NAME% für die E-Mail-Vorlage für die Bestätigungs-E-Mail bestimmt, die an einen Nutzer gesendet werden kann, wenn er sich mit einer E-Mail-Adresse und einem Passwort registriert?
Vor Dezember 2022 wurde %APP_NAME% in der E-Mail-Vorlage mit dem OAuth-Markennamen gefüllt, der automatisch bereitgestellt wurde, wenn eine Android-App im Firebase-Projekt registriert wurde. Da die OAuth-Marke nur bereitgestellt wird, wenn Google Log-in aktiviert ist, wird %APP_NAME% so bestimmt:
Wenn der OAuth-Markenname verfügbar ist, ist
%APP_NAME%in der E‑Mail-Vorlage der OAuth-Markenname (wie vor Dezember 2022).Wenn der OAuth-Markenname nicht verfügbar ist, wird
%APP_NAME%in der E-Mail-Vorlage so bestimmt:Bei Web-Apps ist
%APP_NAME%der Standardname der Firebase Hosting-Website (der Wert vor.firebaseapp.comund.web.appund in der Regel die Firebase-Projekt-ID).Mobile Apps:
Wenn der Android-Paketname oder die iOS-Paket-ID in der Anfrage enthalten ist, ist
%APP_NAME%der App-Name, der im Google Play Store bzw. App Store verwendet wird.Andernfalls ist
%APP_NAME%der Standardname der Firebase Hosting-Website (der Wert vor.firebaseapp.comund.web.appund in der Regel die Firebase-Projekt-ID).
Wenn die Suche nach dem Standard-Firebase Hosting-Websitename fehlschlägt, wird als letzter Fallback die Firebase-Projekt-ID als
%APP_NAME%verwendet.