我正在尝试将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也无济于事
有什么想法吗?
由于
答案 0 :(得分:1)
我刚遇到这个问题,在twitter上发回/ auth / twitter / callback请求的404页面。
问题是我在控制器中发生了应用程序错误。这产生了404(不确定原因)而不是500。
答案 1 :(得分:0)
请注意,它正在尝试在GET请求上呈现#create
。创建操作只能接受POST请求。在没有看到更多代码的情况下,我不知道如何修复这个特定情况,但这就是问题所在。您可能只需要在表单中添加:method => :post
。