2016-08-01 7 views
0

Ich habe mich mit Facebook arbeiten. Ich versuche jetzt, mich bei Google anzumelden.Fehler: redirect_uri_mismatch bei der Verwendung von Omniahut-google-oauth2

Ich bekomme Fehler: Redirect_uri_mismatch und ich kann nicht herausfinden, warum.

Ich sah, wo jemand sagte, omniauth-oauth2 v. 1.3.1 zu verwenden, also bin ich.

Meine Routen-Datei enthält:

gem 'omniauth-facebook' 
gem 'omniauth-google-oauth2', '~> 0.4.1' 
gem 'omniauth-oauth2', '~> 1.3.1' 

Meine omniauth.rb Datei ist:

Rails.application.config.middleware.use OmniAuth::Builder do 
    provider :facebook, ENV['FACEBOOK_APP_ID'], ENV['FACEBOOK_SECRET'], info_fields: 'email,first_name,last_name' 
    provider :google_oauth2, ENV["GOOGLE_CLIENT_ID"], ENV["GOOGLE_CLIENT_SECRET"], 
    { 
    :name => "google", 
    :scope => "email, profile, plus.me, http://gdata.youtube.com", 
    :prompt => "select_account", 
    :image_aspect_ratio => "square", 
    :image_size => 50 
    } 
end 

ich die Fehlermeldung

The redirect URI in the request, http://localhost:3000/auth/google/callback, does not match the ones authorized for the OAuth client

und kopiert die uri genommen haben, und dann in die Seite für die Google-API-Credentials gegangen und dann hinzugefügt das genaue uri als Autorisierter Weiterleitungs-URI.

Jede Hilfe würde sehr geschätzt werden.

Antwort

0

In console.developers.google.com. Geben Sie die URL Ihrer App plus

“/auth/google_oauth2/callback” 

im Feld "Autorisierte Weiterleitungs-URIs" ein. So sollte es sein:

http://localhost:3000/auth/google_oauth2/callback 
+0

Wenn ich das tue, erhalte ich: Keine Route treffer [GET] "/ Auth/google_oauth2" – atarihomestar

+0

My routes.rb umfasst: get '/ Auth /: Provider/Rückruf', zu : 'sessions # create_omniahuth' – atarihomestar

+0

Von einem Terminal kann ich "curl localhost: 3000/auth/google_oauth2/callback" ausführen und es findet diese Route. Aber wenn ich es ohne/Callback versuche, tut es das nicht. Es ist fast so, als ob Google nicht zurück/Rückruf sendet. – atarihomestar