5

Radarlarla omniauth kimlik doğrulamasını öğrenmek istiyorum, bu yüzden de Railscast # 360 içeren farklı kılavuzları kontrol ettim.Raylar - Omniauth-facebook App_id gerekli hata

Geliştiricilerim.facebook.com ile kendi uygulamanızı oluşturduğumda, benim için bir App_id ve gizli oluşturur. Uygulamayı çevrimiçi olarak ayarladım ve sadece Ryan Bates kılavuzundaki adımları kullanan basit bir ray uygulaması oluşturdum.

Bu benim recieving am hata üretir benim omniauth.rb dosyasıdır,

OmniAuth.config.logger = Rails.logger 

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

Ben de

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

kullanmaya çalıştık.

http://localhost:3000/auth/facebook numaralı telefonu aradığımda, "app_id parametresi gerekli" olduğunu belirten bir hata alıyorum.

bu hatayı geçebilir nasıl

,

cevap

11

Size ENV ne yanlış görünüyor. ENV[xxx], xxx ortam değişkeninin değerini alan bir yakut yöntemidir. Kod snippet'inizdeki ENV['875829959136178'], 875829959136178 ortam değişkeni değerini almaya çalışır. App_id öğenizi 875829959136178 ortam değişkenine ayarlamamanız ve dolayısıyla ENV['875829959136178'] nil döndürmeniz çok olasıdır. provider, app_id ve app_secret öğelerini alan bir yöntemdir, ancak uygulama_id olarak sıfır verdiğiniz için, app_id öğesinin gerekli olsa bile verilmediğini iddia eder.

App_id'inizin 875829959136178 olduğunu ve app_secret'inizin APP_SECRET olduğunu varsayalım. Uygulamanızı yapmanın en kolay yolu, bunları Dize olarak vermek.

provider :facebook, "875829959136178", "APP_SECRET" 
Sen düz metin olarak kaynak kodunda uygulama kimliği ve gizli koyarak güvenlik açısından arzu olmadığını, olsa da, belirtmeliyiz

. Ortam değişkenlerini this gibi makaleleri okuyarak ya da dotenv gibi değerli taşlar kullanarak nasıl ayarlayacağınıza karar vermelisiniz.

+0

İnanılmaz bir açıklama :) Çok teşekkürler. Env değişkenleri doğru noe üzerinde yalın olacak :) –

İlgili konular