Omniauth-facebook meldet weiterhin ungültige_Nachweise

Ich versuche omniauth-facebook wie in Railscast # 360 beschrieben zu implementieren und bin auf eine ziemliche Straßensperre gestoßen. Wenn ich auf den Anmeldelink klicke, wird das gewünschte Popup angezeigt, in dem ich aufgefordert werde, meine Facebook-Anmeldeinformationen einzugeben. Beim Senden wird jedoch ein OmniAuth :: Strategies :: OAuth2 :: CallbackError-Fehler angezeigt. In den Apache-Protokollen wird Folgendes gedruckt: (facebook) Authentifizierungsfehler! invalid_credentials: OmniAuth :: Strategies :: OAuth2 :: CallbackError, OmniAuth :: Strategies :: OAuth2 :: CallbackError

Hier ist der entsprechende Code:

omniauth.rb

OmniAuth.config.logger = Rails.logger

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :facebook, ENV['FACEBOOK_APP_ID'], ENV['FACEBOOK_SECRET']
end

sessions_controller.rb

class SessionsController < ApplicationController
  def create
    user = User.from_omniauth(env["omniauth.auth"])
    session[:user_id] = user.id
    redirect_to root_url
  end

  def destroy
    session[:user_id] = nil
    redirect_to root_url
  end
end

application.html.erb

<div id="fb-root"></div>
<script>        
window.fbAsyncInit = function() {
    FB.init({
        appId      : '(**my app id**)', // App ID
        status     : true, // check login status
        cookie     : true // enable cookies to allow the server to access the session
    });

    $('#sign_in').click(function(e) {
        e.preventDefault();
        return FB.login(function(response) {
            if (response.authResponse) {
                return window.location = '/auth/facebook/callback';
            }
        });
    });

    return $('#sign_out').click(function(e) {
        FB.getLoginStatus(function(response) {
            if (response.authResponse) {
                return FB.logout();
            }
        });
        return true;
    });
};
 </script>

Vermisse ich etwas Einfaches? Ich habe in den letzten Tagen nach einer Lösung gesucht.

Antworten auf die Frage(7)

Ihre Antwort auf die Frage