Rails 3.0.9 + open_id_authentication

时间:2011-09-16 14:23:24

标签: ruby-on-rails ruby-on-rails-3 openid google-openid

我正在使用open_id_authentication gem对google进行身份验证。在我的会话控制器中,我打电话

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

并返回401状态代码Unauthenticated。但它应该显示我必须确认访问的谷歌页面。

我制作了示例app:https://github.com/mbashirov/rails3-test,它只在会话控制器中设置了代码并设置了路由。

该代码在rails 2.3 app上完美运行。有错误吗?

感谢。

解。

在会话控制器中添加

class SessionsController < ApplicationController
  include OpenIdAuthentication

在config / application.rb中添加

config.app_middleware.use OpenIdAuthentication

完成这两个步骤后,一切正常。

1 个答案:

答案 0 :(得分:0)

如果它在2.3中工作,然后在3中不起作用,那听起来就像是你自己制作的错误。

后续步骤:

1)升级到最新的3.1(或更好的3.1.1)Rails

2)联系宝石的作者,了解他们的3.1支持计划是什么。他们可能已经在开发一个可以帮助测试的解决方案。

3)如果你掌握了这些技能,那么通过解决问题做出贡献将是非常棒的。

我建议你先使用以太偷看工具,如Fiddler或Mac工具,看看你的机器在运行3.1.1 vs 2.3时发出相同的请求/得到相同的响应。

然后调试......