2 Min

Der Fehler “Google OAuth 2 authorization - Error: redirect_uri_mismatch” tritt auf, wenn die von einer Anwendung oder Website eingereichte Redirect-URI (die Adresse, an die Google den Benutzer nach der OAuth 2.0-Authentifizierung zurückleitet) nicht mit der Redirect-URI übereinstimmt, die im Google-API-Dashboard für das OAuth 2.0-Projekt registriert ist.

Was bedeutet der Fehler?

Der Fehler tritt auf, wenn es eine Diskrepanz zwischen der Redirect-URI gibt, die von deiner Anwendung gesendet wird, und der, die im Google-API-Dashboard konfiguriert wurde. Google überprüft diese URI als Sicherheitsmaßnahme, um sicherzustellen, dass der Benutzer nur an die korrekte URL zurückgeleitet wird.

Mögliche Ursachen:

  1. Falsche Redirect-URI in der Anwendung: Die von deiner Anwendung gesendete URI entspricht nicht derjenigen, die im Google-API-Projekt eingetragen wurde.
  2. HTTP/HTTPS-Probleme: Manchmal gibt es einen Unterschied zwischen der Verwendung von HTTP und HTTPS (zum Beispiel wurde HTTPS im Google-Dashboard eingetragen, aber die Anwendung verwendet HTTP).
  3. Trailing Slash-Probleme: Eine häufige Ursache ist, dass die Redirect-URI entweder mit oder ohne einen Schrägstrich (“/”) am Ende konfiguriert wurde, und der andere Fall verwendet wird.
  4. Subdomain-Unterschiede: Manchmal wird eine falsche Subdomain verwendet, zum Beispiel www.example.com statt example.com oder umgekehrt.
  5. Falsche Umgebungen: Du verwendest möglicherweise unterschiedliche Redirect-URIs in verschiedenen Umgebungen (z. B. lokal, Staging, Produktion), und die korrekte URI ist nicht bei Google registriert.

Schritte zur Fehlerbehebung:

1. Überprüfen und Aktualisieren der Redirect-URI im Google-API-Dashboard

  • Gehe zu deinem Google Cloud Console und wähle das Projekt aus, mit dem deine Anwendung verknüpft ist.
  • Navigiere zu APIs & Services > Credentials.
  • Finde deinen OAuth 2.0-Client und bearbeite dessen Einstellungen.
  • Überprüfe im Abschnitt “Authorized redirect URIs”, ob die URI mit der von deiner Anwendung gesendeten exakt übereinstimmt.
    • Exaktheit der URI sicherstellen: Es muss exakt übereinstimmen, einschließlich Protokoll (http/https), Domain, und möglicher Schrägstriche.
  • Füge die korrekte Redirect-URI hinzu, falls sie nicht korrekt eingetragen ist.

2. Überprüfe den Redirect-URI in deiner Anwendung

  • Gehe durch den Code oder die Konfigurationsdateien deiner Anwendung und stelle sicher, dass die Redirect-URI korrekt ist.
  • Vergewissere dich, dass sie genau mit der URI übereinstimmt, die du im Google-API-Dashboard konfiguriert hast.

3. Überprüfe HTTP vs. HTTPS

  • Wenn du im Google-Dashboard https:// für die Redirect-URI konfiguriert hast, stelle sicher, dass deine Anwendung auch https:// verwendet und nicht http://.

4. Trailing Slash (“/”) beachten

  • Überprüfe, ob deine Redirect-URI im Google-Dashboard einen Schrägstrich (“/”) am Ende hat. Zum Beispiel: https://example.com/callback/ ist nicht dasselbe wie https://example.com/callback. Beide Varianten sollten konsistent sein.

5. Testen verschiedener Umgebungen

  • Falls du in verschiedenen Umgebungen arbeitest (z. B. lokal, Testumgebung, Produktion), stelle sicher, dass jede Umgebung ihre eigene korrekte Redirect-URI verwendet und dass sie alle in den Google-API-Einstellungen eingetragen sind.

6. Mehrere Redirect-URIs konfigurieren

  • Falls deine Anwendung verschiedene Redirect-URIs für verschiedene Umgebungen (z. B. https://localhost/callback für lokal, https://prod.example.com/callback für Produktion) benötigt, kannst du mehrere URIs im Google-API-Dashboard eintragen. Dies hilft, den Fehler bei unterschiedlichen Umgebungen zu vermeiden.

7. Prüfe Logs und Fehlerberichte

  • Falls der Fehler weiterhin besteht, schaue in die Logs deiner Anwendung, um die tatsächliche Redirect-URI zu überprüfen, die an Google gesendet wird. Dies kann dir helfen, Missverständnisse zu vermeiden und die richtige URI herauszufinden.

Beispiel für die Behebung:

Wenn der Fehler auftritt, weil die Anwendung https://example.com/oauth2callback verwendet, aber im Google-API-Dashboard https://www.example.com/oauth2callback/ hinterlegt ist, könntest du folgende Schritte durchführen:

  1. Entweder das / am Ende in deiner Anwendung hinzufügen oder
  2. Im Google-API-Dashboard die Redirect-URI auf https://example.com/oauth2callback ändern.

Zusammenfassung:

Der Fehler “redirect_uri_mismatch” tritt auf, wenn die Redirect-URI, die von deiner Anwendung gesendet wird, nicht mit der im Google-API-Dashboard hinterlegten URI übereinstimmt. Die Behebung besteht darin, sicherzustellen, dass die Redirect-URI in der Anwendung und im Google-API-Dashboard exakt übereinstimmt, einschließlich Protokoll, Domain und möglichen Schrägstrichen.

Updated: