653 Stimmen

Google OAuth 2-Autorisierung - Fehler: redirect_uri_mismatch

Auf der Website https://code.google.com/apis/console Ich habe meine Anwendung registriert, generierte Kunden-ID: y Geheimnis des Kunden zu meiner App und versuchte, sich mit Google anzumelden. Leider bekam ich die Fehlermeldung:

Error: redirect_uri_mismatch
The redirect URI in the request: http://127.0.0.1:3000/auth/google_oauth2/callback did not match a registered redirect URI

scope=https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email
response_type=code
redirect_uri=http://127.0.0.1:3000/auth/google_oauth2/callback
access_type=offline
approval_prompt=force
client_id=generated_id

Was bedeutet diese Meldung, und wie kann ich sie beheben? Ich verwende den Edelstein omniauth-google-oauth2 .

2voto

James T. Punkte 810

Ich musste eine neue Client-ID unter APIs & Dienste -> Anmeldeinformationen -> Anmeldeinformationen erstellen -> OAuth -> Andere erstellen

Dann habe ich heruntergeladen und die client_secret.json mit meinem Kommandozeilenprogramm verwendet, das auf mein YouTube-Konto hochgeladen wird. Ich habe versucht, eine Web App OAuth Client ID zu verwenden, die mir den Redirect URI Fehler im Browser gab.

1voto

Wenn Sie Passport Js verwenden und Ihre App in Heroku bereitstellen, müssen Sie diese Einstellung proxy: true in der Passport-Strategie hinzufügen

passport.use(new GoogleStrategy(
    {
        clientID: keys.googleClientID,
        clientSecret: keys.googleClientSecret,
        callbackURL: '/auth/google/callback',
        proxy: true
    })

oder überprüfen Sie Ihre autorisierte Url

muss https://yourwebsite/auth/google/callback sein.

1voto

Code_Worm Punkte 3393

Ich hatte das gleiche Problem mit der Google-Anmeldung.

Ich hatte meine Rückrufe im Google Credential Panel in der Google Developer Console korrekt eingegeben Hier waren meine Weiterleitungsurls:

https://www.example.com/signin-google

https://www.example.com/signin-google/

https://www.example.com/oauth2callback

https://www.example.com/oauth2callback/

Alles scheint in Ordnung zu sein, oder? Aber es funktionierte immer noch nicht, bis ich eine weitere magische Url Ich fügte hinzu signin-google URL (das ist der standardmäßige Google-Callback) ohne www und das Problem ist gelöst.

Berücksichtigen Sie, dass Sie (je nach Domäne) möglicherweise sowohl URLs mit als auch ohne www hinzufügen müssen.

1voto

Sarwan Kumar Punkte 1165

Ich hatte das gleiche Problem, um in Reactjs app auf meinem lokalen Rechner mit Port 3000 zu autorisieren.
Ich habe hinzugefügt lvh.me in autorisierten Bereichen und http://lvh.me:3000 für den autorisierten Ursprung und die autorisierte Umleitungs-URL, wie in den folgenden Abbildungen gezeigt.

Hinweis: Sie können mehrere Sites für überprüfte Domänen hinzufügen, z. B. für Ihren lokalen Rechner, Staging oder andere Umgebungen.

enter image description here

enter image description here

1voto

Tincho825 Punkte 741

Ich hatte dieses Problem mit Meteor und Ngrok, während ich versuchte, mich mit Google anzumelden. Ich habe die Ngrok-URL in der Google Developer Console als Redirect-URLs eingegeben und bin zur Ngrok-URL-Seite gegangen. Das Problem war, dass ich die Meteor-URL nicht verwendet habe. ROOT_URL wenn die Anwendung ausgeführt wird, so dass jede Umleitung zu localhost:3000 anstelle der Ngrok-URL. Ich habe es gerade behoben, indem ich die Ngrok-URL als ROOT_URL in der Meteor-Konfiguration oder durch Exportieren vor dem Ausführen der App auf dem Terminal wie: export ROOT_URL=https://my_ngrok_url

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X