【问题标题】:Rails 3.0.9 + open_id_authenticationRails 3.0.9 + open_id_authentication
【发布时间】:2011-09-16 14:23:23
【问题描述】:

我正在使用 open_id_authentication gem 向 google 进行身份验证。在我的会话控制器中,我调用了

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

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

我制作了示例应用程序:https://github.com/mbashirov/rails3-test,它只有会话控制器中的代码和路由集。

该代码在 rails 2.3 应用程序上完美运行。有错误吗?

谢谢。

解决方案。

在会话控制器中添加

class SessionsController < ApplicationController
  include OpenIdAuthentication

在 config/application.rb 中添加

config.app_middleware.use OpenIdAuthentication

这两个步骤后一切正常。

【问题讨论】:

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


    【解决方案1】:

    如果它在 2.3 中有效,然后在 3 中无效,这听起来像是不是您自己造成的错误。

    接下来的步骤:

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

    2) 联系 gem 的作者,了解他们的 3.1 支持计划是什么。他们可能已经在研究您可以帮助测试的解决方案。

    3) 如果您有技能,那么您可以通过解决问题来回馈社会。

    我建议您从 Fiddler 或 Mac 工具等 Ether peek 工具开始,看看您的机器在运行 3.1.1 和 2.3 时是否发送相同的请求/获得相同的响应。

    然后调试....

    【讨论】:

    • 感谢您的建议,这对我很有帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-17
    • 1970-01-01
    • 1970-01-01
    • 2012-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多