首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为Omniauth构建新策略,但Omniauth找不到它

为Omniauth构建新策略,但Omniauth找不到它
EN

Stack Overflow用户
提问于 2012-02-06 19:00:33
回答 3查看 3.3K关注 0票数 5

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

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

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

它工作得很好。好的。

然后我将这些文件添加到我的app lib目录中

代码语言:javascript
复制
lib/omniauth-deezer.rb
lib/omniauth/deezer.rb
lib/omniauth/deezer/version.rb
lib/omniauth/deezer/strategies/deezer.rb

并添加了

代码语言:javascript
复制
provider :deezer, ENV['DEEZER_APP_ID'],
ENV['DEEZER_APP_SECRET'], :perms => 'basic_access,email'

在……里面

代码语言:javascript
复制
config/initializers/omniauth.rb

但当我启动应用程序时

代码语言:javascript
复制
rails s

我收到以下错误消息

代码语言:javascript
复制
/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'

谢谢你的帮忙

最好的

Geoffroy

EN

回答 3

Stack Overflow用户

发布于 2012-02-07 22:13:45

我添加了

代码语言:javascript
复制
require 'omniauth-deezer'

在initializers/omniauth.rb中,它起作用了。

我真的不明白为什么我需要它,而Facebook不需要。

票数 4
EN

Stack Overflow用户

发布于 2012-02-06 19:50:29

Upgrading to 1.0文档中提到,Omniauth现在需要为每个提供商提供一个gem,所以最终您将不得不将您的提供商转移到gem。

票数 2
EN

Stack Overflow用户

发布于 2013-05-30 07:46:00

为了便于将来参考,如果您想添加您自己的omniauth策略,请将以下内容添加到您的gemfile中

代码语言:javascript
复制
gem 'omniauth-mystrategy', :path => '~/full-path-to-the-omniauth-folder/'

您将使用本地存储库特性的You文件。在官方的bundler页面中,你也会看到如何使用远程repos。

http://gembundler.com/v1.3/gemfile.html

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9159125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档