2011-10-09 30 views
1

我試圖將omniauth與我的應用程序集成,因爲我以前在Rails 3應用程序中使用過它,並取得了令人愉快的體驗。回調中的Omniauth 404

不幸的是,我正在使用的應用程序是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 /中:供應商」的錯誤的解決方法,它從來沒有加載,因爲它重定向通過Omniauth反正給Facebook 。

這裏是我的錯誤

處理UserIdentitiesController#創建(在2011-10-08二十二點36分26秒127.0.0.1)[GET] 參數日誌:{ 「代碼」=>「12345 「,」action「=>」create「,」controller「=>」user_identities「,」provider「=>」facebook「} Rendering /Users/hash/myapp/public/404.html(404)

在創建的第一行中添加調試器或放入沒有幫助

任何想法?

感謝

回答

0

注意,它試圖呈現一個GET請求#create。創建操作只能接受POST請求。沒有看到更多的代碼,我不知道如何解決這個特定的情況,但這是問題所在。您可能只需在您的表單中添加:method => :post

+0

那麼,即使我添加了一個帖子,這將是/ auth /:provider,即一個空白的方法。由facebook返回的回調是一個GET,因爲這就是omniauth這樣做......有什麼方法可以改變它嗎? – hash12

1

我剛剛遇到了這個問題,在Twitter上從/ auth/twitter/callback請求中獲得了404頁面。

問題是我有一個應用程序錯誤發生在控制器中。這產生了404(不知道爲什麼),而不是500.

相關問題