5

Sono interessato ad apprendere l'autenticazione omniauth con le rotaie, quindi ho controllato diverse guide in cui contiene anche Railscast # 360.Rails - Omniauth-facebook App_id richiesto errore

Quando creo la mia app con developers.facebook.com, crea un App_id e un segreto per me. Ho impostato l'applicazione online e creato un'applicazione di base per i binari che utilizza solo i passaggi nella guida di Ryan Bates.

Questo è il mio file omniauth.rb che genera l'errore che sto recieving,

OmniAuth.config.logger = Rails.logger 

Rails.application.config.middleware.use OmniAuth::Builder do 
    provider :facebook, ENV['875829959136178'], ENV['<app_secret>'] 
end 

Ho provato ad utilizzare

provider :facebook, ENV['FACEBOOK_875829959136178'], ENV['FACEBOOK_<app_secret>'] 

anche.

Quando chiamo http://localhost:3000/auth/facebook, sto ricevendo un errore che indica che "il parametro app_id è richiesto".

Come posso passare questo errore,

risposta

11

Sembra che fraintendere ciò che è ENV. ENV[xxx] è un metodo ruby ​​che recupera il valore per la variabile di ambiente xxx. Pertanto, nello snippet di codice, lo ENV['875829959136178'] tenta di recuperare il valore per la variabile di ambiente 875829959136178. È molto probabile che tu non abbia impostato il tuo id_app alla variabile di ambiente 875829959136178, e quindi ENV['875829959136178'] restituisce zero. provider è un metodo che accetta l'app_id e l'app_secret, ma dato che stai dando nil come app_id, sta sostenendo che l'app_id non viene data anche se è richiesta.

Supponiamo che l'app_id sia 875829959136178 e che l'app_secret sia APP_SECRET. Il modo più semplice per far funzionare la tua app è assegnarli come String.

provider :facebook, "875829959136178", "APP_SECRET" 

Si dovrebbe notare, però, che mettere il vostro ID applicazione e segreta nel codice sorgente come testo normale non è auspicabile dal punto di vista della sicurezza. Dovresti scoprire come impostare le variabili di ambiente leggendo articoli come this o utilizzare gemme come dotenv.

+0

Una spiegazione sorprendente :) Grazie mille. Si appoggeranno alle variabili env right noe :) –

Problemi correlati