2011-09-16 33 views
0

我正在使用open_id_authentication gem向Google進行身份驗證。在我的會話控制器中我撥打Rails 3.0.9 + open_id_authentication

authenticate_with_open_id(complete_identity_url, OPENID_OPTS) do |openid_result, identity_url, registration| 

並且它返回401狀態碼Unauthenticated。但它應該顯示谷歌頁面,我必須確認訪問權限。

我做示例應用程序:https://github.com/mbashirov/rails3-test,它只有在會話控制和路由集代碼。

該代碼在rails 2.3應用程序中完美工作。有錯誤?

謝謝。

解決方案。

在會話控制器添加

class SessionsController < ApplicationController 
    include OpenIdAuthentication 

在配置/ application.rb中添加

config.app_middleware.use OpenIdAuthentication 

後這兩個步驟都工作正常。

回答

0

如果它工作在2.3,然後在3不起作用,這聽起來像不是你自己造成的錯誤。

下一步:

1)升級到最新的3.1(或更高版本3.1.1)Rails的

2)聯繫寶石的作者,看看他們的3.1支持計劃。他們可能已經在研究可幫助您測試的解決方案。

3)如果你有能力,這將是真棒爲你的解決問題的貢獻了。

我建議你用乙醚偷看工具,如提琴手或Mac工具開始,看看你的機器發出同樣的請求/運行3.1.1 VS 2.3時,得到同樣的答覆。

然後調試....

+0

感謝您的建議,它真的幫助了我。 – mbashirov

相關問題