【发布时间】:2011-07-07 12:54:05
【问题描述】:
我尝试关注https://github.com/plataformatec/devise/wiki/OmniAuth:-Overview,但不知何故,当我查看生成的路由时,我只看到回调路径,而不是授权路径(实际上,我在 user_omniauth_authorize_path 链接的视图上看到错误)。
我认为这可能是 OmniAuth 和 Devise (since after 0.2.0.beta Omniath allows configurable setting, and the routes must be defined) 的版本问题。但是,当尝试使用较旧的 OmniAuth 版本时,我收到错误“You are using an old OmniAuth version, please ensure 0.2.0.beta or later installed.”。
我尝试使用 Devise 的 master 1.2.rc 和omniauth 分支以及整个omniauth gem(0.2.0.beta 之后)和'oa-oauth',但没有成功。 我也尝试定义路线:
match '/users/auth/:action/', :to => 'users/omniauth_callbacks#action', :as => 'user_omniauth_authorize'
这对路线有帮助,但是当按下链接时,我确实收到了设计找不到映射的错误。有趣的是,将 devise_for 中的控制器更改为无效(例如在 users/omniauth_callbacks 之前添加“/”)第一次导致错误(“控制器名称不应以斜杠开头”),但实际上发送了一个小的重新加载我到 facebook 并返回(但自然没有定义回调路由)。
我是 Ruby 的新手,不太确定我从哪里开始。任何帮助将不胜感激。
【问题讨论】:
-
你解决过这个问题吗?
-
没关系,一个简单的服务器重启为我修复了它。
标签: ruby-on-rails authentication oauth devise omniauth