为Omniauth制定新策略,但Omniauth无法找到它

geo*_*roy 5 ruby-on-rails omniauth

我是Rails和Omniauth的新手,所以提前抱歉这个愚蠢的问题.

我正在尝试为Deezer网站做一个Omniauth策略. http://www.deezer.com/en/developers/simpleapi/oauth

首先,我设置了一个基本的rails应用程序来测试Facebook策略.这是我在Github中的代码:https: //github.com/geoffroymontel/omniauth-test

它工作正常.好.

然后我在我的app lib目录中添加了这些文件

lib/omniauth-deezer.rb
lib/omniauth/deezer.rb
lib/omniauth/deezer/version.rb
lib/omniauth/deezer/strategies/deezer.rb
Run Code Online (Sandbox Code Playgroud)

并补充说

provider :deezer, ENV['DEEZER_APP_ID'],
ENV['DEEZER_APP_SECRET'], :perms => 'basic_access,email'
Run Code Online (Sandbox Code Playgroud)

config/initializers/omniauth.rb
Run Code Online (Sandbox Code Playgroud)

但是当我启动应用程序时

rails s
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息

/home/geoffroy/.rvm/gems/ruby-1.9.2-p290@rails3tutorial2ndEd/gems/omniauth-1.0.2/lib/omniauth/builder.rb:33:in `rescue in provider': Could not find matching strategy for  :deezer. You may need to install an additional gem (such as omniauth-deezer). (LoadError) from /home/geoffroy/.rvm/gems/ruby-1.9.2-p290@rails3tutorial2ndEd/gems/omniauth-1.0.2/lib/omniauth/builder.rb:30:in `provider'
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助

最好

若弗鲁瓦

win*_*ons 2

升级到 1.0文档中提到 Omniauth 现在需要每个提供商都有一个 gem,因此您最终必须将提供商移至 gem。