0

Ich verwende eine benutzerdefinierte lokale URL für die Entwicklung eines Projekts, das sowohl mit Google als auch mit Adwords mithilfe von OAuth2 authentifiziert wird.Benutzerdefinierte lokale URL ergibt redirect_uri_mismatch

Der Eintrag in meiner/etc/hosts-Datei wie folgt aussieht:

  • Typ:

    127.0.0.1 sub.example.dev:3001

    In der Google Cloud Platform Konsole ich mit ein OAuth 2.0-Client-ID-Setup haben Web Application

  • Autorisierte JavaScript-Quelle: http://sub.example.dev:3001
  • Autorisierte Weiterleitungs-URIs:
    • http://sub.example.dev:3001/auth/adwords/callback
    • http://sub.example.dev:3001/auth/google/callback

ich authentifizieren mit Google und Adwords getrennt. Zuvor verwendete ich localhost:3001 anstelle der benutzerdefinierten URL, die sowohl für Google als auch für AdWords funktionierte. Nach dem Wechsel zu der benutzerdefinierten lokalen URL funktioniert die Google-Authentifizierung immer noch, aber wenn ich versuche, mich mit AdWords zu authentifizieren, bekomme ich einen redirect_uri_mismatch Fehler.

Die Fehlerseite sagt mir, dass "die Umleitung URI in der Anfrage, sub.example.dev:3001/auth/adwords/callback, nicht mit denen für den OAuth-Client autorisiert ist." Der URI, der hier gemeldet wird, ist genau der gleiche wie der, den ich als autorisierter Weiterleitungs-URI (minus dem Protokoll) habe.

Warum funktioniert das mit Google OAuth, aber nicht mit Adwords? Wie kann ich eine benutzerdefinierte lokale Weiterleitungs-URL für die Zusammenarbeit mit Adwords OAuth erhalten?

Danke!

Antwort

0

Ich fand das Problem, und es gab einen Hinweis in der Frage selbst. Die Weiterleitungs-URL, die ich während des OAuth-Nachrichtenflusses übergebe, muss das Protokoll enthalten, und ich habe das in meiner Konfiguration verpasst.

Die Umleitungs-URL Ich war in der OAuth Strömung vorbei war sub.example.dev:3001/auth/adwords/callback

habe ich es zu http://sub.example.dev:3001/auth/adwords/callback und jetzt funktioniert es! : D