मेरे पास एक रेल ऐप है जो फेसबुक के माध्यम से आगंतुकों को प्रमाणीकृत करने के लिए omniauth का उपयोग करता है।पर्यावरण के आधार पर फेसबुक प्रमाणीकरण कुंजी कैसे सेट करें?
जब आप फेसबुक के साथ एक ऐप पंजीकृत करते हैं, तो आपको एक कॉलबैक यूआरएल पंजीकृत करना होगा जिसे वे अपनी प्रमाणीकरण प्रक्रिया पूरी करने के बाद रीडायरेक्ट कर देंगे।
चूंकि मेरी उत्पादन साइट को मेरे विकास पर्यावरण की तुलना में एक अलग सर्वर पर होस्ट किया गया है, इसलिए मुझे फेसबुक के साथ 2 अलग-अलग यूआरएल पंजीकृत करने की आवश्यकता है। मैंने इसे दो ऐप्स, एक लाइव और एक dev संस्करण पंजीकृत करके किया है।
अब निश्चित रूप से मेरे पास दो ऐप_आईड्स और दो ऐप_सेक्रेट हैं जिनसे मेरे रेल एप्लिकेशन को उपयोग करने की आवश्यकता है।
मैं ओमनीएथ को विकास पर्यावरण में एक और चाबियों का उपयोग करने के लिए कैसे सेट करूं? और फिर /config/initializers/omniauth.rb में
Rails.application.config.middleware.use OmniAuth::Builder do
keys = SampleApp::Application.config.omniauth_keys
# ==> OmniAuth Provider Credentials
# APP_ID SECRET_ID
provider :facebook, keys.facebook.app_id, keys.facebook.app_secret
end
# development.rb
SampleApp::Application.configure do
config.omniauth_keys.facebook.app_id = "32423423"
config.omniauth_keys.facebook.api_key = "324234324234324"
config.omniauth_keys.facebook.app_secret = "242343424234324324234324"
end
# production.rb
SampleApp::Application.configure do
config.omniauth_keys.facebook.app_id = "7657566"
config.omniauth_keys.facebook.api_key = "7756765765756757"
config.omniauth_keys.facebook.app_secret = "65756767567567567757"
end
लेकिन मैं मिलता है:
मैं अपने कुंजी सेट करने के लिए मेरी/config/वातावरण निर्देशिका में तो जैसे की कोशिश की है
`method_missing': undefined method `omniauth_keys'
जब मैं विकास सर्वर प्रारंभ करने का प्रयास, मेरा अनुमान है कि क्योंकि omniauth.rb/emviro से पहले भरी हुई है nments/*?
मैं इसे कैसे सेट अप कर सकता हूं?
संपादित करें: यहां पर विस्तृत त्रुटि संदेश
=> Booting WEBrick
=> Rails 3.0.4 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
Exiting
/home/david/.rvm/gems/ruby-1.9.2-p136/gems/railties-3.0.4/lib/rails/railtie/configuration.rb:77:in `method_missing': undefined method `omniauth_keys' for #<Rails::Application::Configuration:0xadaa69c> (NoMethodError)
from /home/david/sites/sample_app/config/environments/development.rb:32:in `block in <top (required)>'
from /home/david/.rvm/gems/ruby-1.9.2-p136/gems/railties-3.0.4/lib/rails/application.rb:47:in `class_eval'
from /home/david/.rvm/gems/ruby-1.9.2-p136/gems/railties-3.0.4/lib/rails/application.rb:47:in `configure'
from /home/david/sites/sample_app/config/environments/development.rb:1:in `<top (required)>'
from /home/david/.rvm/gems/ruby-1.9.2-p136/gems/activesupport-3.0.4/lib/active_support/dependencies.rb:239:in `require'
from /home/david/.rvm/gems/ruby-1.9.2-p136/gems/activesupport-3.0.4/lib/active_support/dependencies.rb:239:in `block in require'
from /home/david/.rvm/gems/ruby-1.9.2-p136/gems/activesupport-3.0.4/lib/active_support/dependencies.rb:225:in `block in load_dependency'
from /home/david/.rvm/gems/ruby-1.9.2-p136/gems/activesupport-3.0.4/lib/active_support/dependencies.rb:596:in `new_constants_in'
from /home/david/.rvm/gems/ruby-1.9.2-p136/gems/activesupport-3.0.4/lib/active_support/dependencies.rb:225:in `load_dependency'
from /home/david/.rvm/gems/ruby-1.9.2-p136/gems/activesupport-3.0.4/lib/active_support/dependencies.rb:239:in `require'
from /home/david/.rvm/gems/ruby-1.9.2-p136/gems/railties-3.0.4/lib/rails/application/bootstrap.rb:11:in `block in <module:Bootstrap>'
from /home/david/.rvm/gems/ruby-1.9.2-p136/gems/railties-3.0.4/lib/rails/initializable.rb:25:in `instance_exec'
from /home/david/.rvm/gems/ruby-1.9.2-p136/gems/railties-3.0.4/lib/rails/initializable.rb:25:in `run'
from /home/david/.rvm/gems/ruby-1.9.2-p136/gems/railties-3.0.4/lib/rails/initializable.rb:50:in `block in run_initializers'
from /home/david/.rvm/gems/ruby-1.9.2-p136/gems/railties-3.0.4/lib/rails/initializable.rb:49:in `each'
from /home/david/.rvm/gems/ruby-1.9.2-p136/gems/railties-3.0.4/lib/rails/initializable.rb:49:in `run_initializers'
from /home/david/.rvm/gems/ruby-1.9.2-p136/gems/railties-3.0.4/lib/rails/application.rb:134:in `initialize!'
from /home/david/.rvm/gems/ruby-1.9.2-p136/gems/railties-3.0.4/lib/rails/application.rb:77:in `method_missing'
from /home/david/sites/sample_app/config/environment.rb:5:in `<top (required)>'
from /home/david/.rvm/gems/ruby-1.9.2-p136/gems/activesupport-3.0.4/lib/active_support/dependencies.rb:239:in `require'
from /home/david/.rvm/gems/ruby-1.9.2-p136/gems/activesupport-3.0.4/lib/active_support/dependencies.rb:239:in `block in require'
from /home/david/.rvm/gems/ruby-1.9.2-p136/gems/activesupport-3.0.4/lib/active_support/dependencies.rb:225:in `block in load_dependency'
from /home/david/.rvm/gems/ruby-1.9.2-p136/gems/activesupport-3.0.4/lib/active_support/dependencies.rb:596:in `new_constants_in'
from /home/david/.rvm/gems/ruby-1.9.2-p136/gems/activesupport-3.0.4/lib/active_support/dependencies.rb:225:in `load_dependency'
from /home/david/.rvm/gems/ruby-1.9.2-p136/gems/activesupport-3.0.4/lib/active_support/dependencies.rb:239:in `require'
from /home/david/sites/sample_app/config.ru:3:in `block in <main>'
from /home/david/.rvm/gems/ruby-1.9.2-p136/gems/rack-1.2.1/lib/rack/builder.rb:46:in `instance_eval'
from /home/david/.rvm/gems/ruby-1.9.2-p136/gems/rack-1.2.1/lib/rack/builder.rb:46:in `initialize'
from /home/david/sites/sample_app/config.ru:1:in `new'
from /home/david/sites/sample_app/config.ru:1:in `<main>'
from /home/david/.rvm/gems/ruby-1.9.2-p136/gems/rack-1.2.1/lib/rack/builder.rb:35:in `eval'
from /home/david/.rvm/gems/ruby-1.9.2-p136/gems/rack-1.2.1/lib/rack/builder.rb:35:in `parse_file'
from /home/david/.rvm/gems/ruby-1.9.2-p136/gems/rack-1.2.1/lib/rack/server.rb:162:in `app'
from /home/david/.rvm/gems/ruby-1.9.2-p136/gems/rack-1.2.1/lib/rack/server.rb:248:in `wrapped_app'
from /home/david/.rvm/gems/ruby-1.9.2-p136/gems/rack-1.2.1/lib/rack/server.rb:213:in `start'
from /home/david/.rvm/gems/ruby-1.9.2-p136/gems/railties-3.0.4/lib/rails/commands/server.rb:65:in `start'
from /home/david/.rvm/gems/ruby-1.9.2-p136/gems/railties-3.0.4/lib/rails/commands.rb:30:in `block in <top (required)>'
from /home/david/.rvm/gems/ruby-1.9.2-p136/gems/railties-3.0.4/lib/rails/commands.rb:27:in `tap'
from /home/david/.rvm/gems/ruby-1.9.2-p136/gems/railties-3.0.4/lib/rails/commands.rb:27:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'
ऐसा लगता है कि यह बहुत अच्छा काम करता है। विश्वास नहीं कर सकता मैंने इसे अपने बारे में नहीं सोचा था! धन्यवाद। –