Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何在Rails 2.2上实现OmniAuth?_Ruby On Rails_Omniauth - Fatal编程技术网

Ruby on rails 如何在Rails 2.2上实现OmniAuth?

Ruby on rails 如何在Rails 2.2上实现OmniAuth?,ruby-on-rails,omniauth,Ruby On Rails,Omniauth,我正在尝试为现有的Rails 2.2应用程序使用Omniauth实现Facebook和Twitter身份验证。到目前为止,我还无法在Rails2.2中找到任何关于如何做到这一点的建议,因此我提出了这个问题。我有两个问题要问- 我知道Rails的机架支持是从2.3引入的,我相信OmniAuth需要机架。那么,在Rails2.2网站上使用OmniAuth是否可能?为什么 如果有可能实现OmniAuth,您将如何实现 您不能使用默认的config.gem“omniauth”。。。为了让它工作,我做了以

我正在尝试为现有的Rails 2.2应用程序使用Omniauth实现Facebook和Twitter身份验证。到目前为止,我还无法在Rails2.2中找到任何关于如何做到这一点的建议,因此我提出了这个问题。我有两个问题要问-

  • 我知道Rails的机架支持是从2.3引入的,我相信OmniAuth需要机架。那么,在Rails2.2网站上使用OmniAuth是否可能?为什么

  • 如果有可能实现OmniAuth,您将如何实现


  • 您不能使用默认的config.gem“omniauth”。。。为了让它工作,我做了以下工作:

    1.手动安装omniauth

    sudo gem install omniauth
    
    2.在config/environment.rb文件中的Rails初始值设定项之前,需要

    require 'omniauth'
    Rails::Initializer.run do |config| ....
    
    3.在development.rb文件中,我添加了以下配置

    config.middleware.use OmniAuth::Builder do
     provider :facebook, "XXx", "YYYY", :scope => % (email user_birthday publish_stream offline_access)
    end
    

    在此处添加所需数量的提供程序。。。。其他一切都应按预期进行。

    感谢moski的回答-我现在就要尝试一下。我还冒昧地对你的答案做了一些小的修改。所以我尝试了你的建议,我得到了以下错误-config/environments/development.rb:19:in
    load_environment:undefined method
    middleware',for#(NoMethodError)我使用的Rails版本是2.2.2,Omniauth 0.1。6@Nikhil,能修好这个吗?我在同一个问题上跌跌撞撞…@slotishtype很抱歉,我无法回避这个问题,所以我不得不把它搁置起来。我可以在升级到Rails 3后再试一次吗