Omniauth 404回调

时间:2011-10-09 05:52:20

标签: ruby-on-rails omniauth

我正在尝试将omniauth与我的应用程序集成,因为我之前在Rails 3应用程序上使用它已经取得了成功和愉快的体验。

不幸的是,我正在开发的应用程序是Rails 2.3.14。当我使用omniauth时,一切顺利,直到回调返回到我的应用程序 - 日志中没有显示错误,只显示随机的404消息。我的路线如下:

map.connect '/auth/:provider', :controller => 'user_identities', :action => 'blank' 
map.callback "/auth/:provider/callback", :controller => "user_identities", :action => "create"
map.failure "/auth/failure", :controller => "user_identities", :action => "fail"

第一行中的空白操作是一个错误的解决方法,表示没有方法获取'auth /:provider',它从未加载,因为它通过Omniauth重定向到Facebook。

以下是我的错误日志

处理UserIdentitiesController #create(适用于2011.0-08 22:36:26的127.0.0.1)[GET]   参数:{“code”=>“12345”,“action”=>“create”,“controller”=>“user_identities”,“provider”=>“facebook”} 渲染/Users/hash/myapp/public/404.html(404)

在create的第一行添加调试器或puts也无济于事

有什么想法吗?

由于

2 个答案:

答案 0 :(得分:1)

我刚遇到这个问题,在twitter上发回/ auth / twitter / callback请求的404页面。

问题是我在控制器中发生了应用程序错误。这产生了404(不确定原因)而不是500。

答案 1 :(得分:0)

请注意,它正在尝试在GET请求上呈现#create。创建操作只能接受POST请求。在没有看到更多代码的情况下,我不知道如何修复这个特定情况,但这就是问题所在。您可能只需要在表单中添加:method => :post