Ich arbeite an meiner RoR4 App, um Benutzern zu ermöglichen, sich über das vorhandene facebook
Konto anzumelden. Ich habe eine Facebook-App (eine Live- und getestete Version) registriert und ihre api und secret in development.rb
gespeichert. Ich benutzte omniauth-facebook und entwarf Edelsteine und stieß auf ein "Csrf detected
" Problem.Rails 4 + omniauth facebook - csrf erkannt
Code Meine Anwendung ist highy inspiriert von diesem Blogpost: http://sourcey.com/rails-4-omniauth-using-devise-with-twitter-facebook-and-linkedin/
ich eine Lösung aus einem Stackoverflow Post sah vor 2 Jahren datiert (Rails + omniauth + facebook - csrf detected) - aber neueste omniauth-facebook-Version ist viel größer als die eine gepostete . Wie auch immer, ich habe versucht, zu omniauth-facebook gem zu Version 1.4.1 zurück zu rollen und ich bin immer noch auf dieses Problem gestoßen.
Gems
oauth2 (1.0.0)
omniauth (1.2.2)
omniauth-facebook (2.0.1)
omniauth-oauth2 (1.3.1)
Ideen?
Fehler log
(facebook) Callback phase initiated.
(facebook) Callback phase initiated.
(facebook) Authentication failure! csrf_detected: OmniAuth::Strategies::OAuth2::CallbackError, csrf_detected | CSRF detected
Sie haben Recht. Ich habe den gleichen Fehler gemacht. – user1818524
meinst du 'devise.rb'? – 0x4a6f4672
Ich hatte das gleiche Problem. Ich hatte meine App-ID und das Geheimnis sowohl in den Geräte-Initialisierer als auch in einen Omniautheritialisierer gelegt. Durch das Entfernen der doppelten Anmeldeinformationen in devise.rb wurde das Problem behoben. – magagnon