Ruby on rails Rails 3.0.9+开放式身份验证
我正在使用open_id_认证gem对谷歌进行认证。在我的会话中,我调用控制器Ruby on rails Rails 3.0.9+开放式身份验证,ruby-on-rails,ruby-on-rails-3,openid,google-openid,Ruby On Rails,Ruby On Rails 3,Openid,Google Openid,我正在使用open_id_认证gem对谷歌进行认证。在我的会话中,我调用控制器 authenticate_with_open_id(complete_identity_url, OPENID_OPTS) do |openid_result, identity_url, registration| 并返回未经验证的401状态代码。但它应该显示我必须确认访问权限的谷歌页面 我制作了示例应用程序:,它只有会话控制器和路由设置中的代码 这段代码在Rails2.3应用程序上运行得非常好。有错误吗 谢谢
authenticate_with_open_id(complete_identity_url, OPENID_OPTS) do |openid_result, identity_url, registration|
并返回未经验证的401状态代码。但它应该显示我必须确认访问权限的谷歌页面
我制作了示例应用程序:,它只有会话控制器和路由设置中的代码
这段代码在Rails2.3应用程序上运行得非常好。有错误吗
谢谢
解决方案
在会话控制器中添加
class SessionsController < ApplicationController
include OpenIdAuthentication
在这两个步骤之后,一切都正常。如果它在2.3中工作,然后在3中不工作,那听起来像是一个不是你自己造成的错误 下一步: 1升级到最新的3.1或更好的3.1.1 Rails 2联系gem的作者,了解他们的3.1支持计划是什么。他们可能已经在研究一个解决方案,您可以帮助测试 3如果你有这些技能,那么通过解决问题为自己做出贡献将是非常棒的 我建议您从Fiddler或Mac工具等以太窥视工具开始,看看您的机器在运行3.1.1 vs 2.3时是否发出相同的请求/得到相同的响应
然后调试…谢谢你的建议,它真的帮了我的忙。
config.app_middleware.use OpenIdAuthentication