我无法将Devise与Omniauth提供程序集成。我在外部服务器上设置了Doorkeeper,但是当它返回到我用pow设置的本地应用程序时,它返回了无效的凭据。
为了调试我现在决定只专注于twitter身份验证 - 这在我的本地rails应用程序中似乎也失败了。
我一直关注这个railscast:http://railscasts.com/episodes/235-devise-and-omniauth-revised(仍然没有运气) - 因为我试图与twitter集成但仍然没有运气。
我创建了一个Omniauth初始化程序:
Rails.application.config.middleware.use OmniAuth :: Builder 提供者:twitter,“我的推特应用程序ID”,“我的Twitter秘密” 端
并在我的设计初始化程序中:
config.omniauth:twitter,ENV [“TWITTER_CONSUMER_KEY”],ENV [“TWITTER_CONSUMER_SECRET”]
我告诉配置设计
:omniauthable
我的应用程序成功进入twitter进行身份验证,但是当它返回时...我的本地应用程序上的日志如下:
由OmniauthCallbacksController处理#失败为HTML 参数:{“oauth_token”=>“有效的AUTH TOKEN”,“oauth_verifier”=>“有效的令牌”} 重定向到我的本地网址
有没有人对为什么会这样做有任何建议?
答案 0 :(得分:0)
确保在设备设置结束时有一个范围
config.omniauth :twitter, 'ID', 'SECRET', {:scope => 'offline_access,email'}