L’autenticazione di Facebook nella mia applicazione Rails, implementata con la gem Omniauth
ha smesso di funzionare di recente.
Il problema è che l’azione del controller, che dovrebbe essere utilizzata dal callback, non viene triggersta e il processo salta immediatamente all’errore con il messaggio “credenziali non valide”.
log:
Started GET "/auth/facebook" for ::ffff:127.0.0.1 at 2017-03-29 11:12:29 +0200 Started GET "/auth/facebook/callback?code=<>&state=<" for ::ffff:127.0.0.1 at 2017-03-29 11:12:30 +0200 Started GET "/auth/failure?message=invalid_credentials&origin=<>&strategy=facebook" for ::ffff:127.0.0.1 at 2017-03-29 11:12:31 +0200 Started GET "/login" for ::ffff:127.0.0.1 at 2017-03-29 11:12:31 +0200 Processing by UserSessionsController#new as HTML
itinerari:
match "/auth/failure" => redirect("/login"), :via => [:get, :post] match '/auth/:provider/callback' => 'user_sessions#create_omniauth', :via => [:get, :post] match '/auth/:provider/disconnect' => 'user_sessions#destroy_omniauth', :as => :destroy_auth, :via => :delete
Qualche idea su cosa possa essere sbagliato?
Modifica: ho avuto lo stesso problema con l'authorization di Google.
Aggiornamento delle gemme alle loro versioni più recenti (omniauth 1.6.1 e omniauth-facebook 4.0.0) con:
bundle update omniauth bundle update omniauth-facebook
risolto il problema. Sto lasciando questo per riferimento futuro.
Modificare:
La stessa cosa ha funzionato per l’authorization di google:
bundle update omniauth-google-oauth2