【问题标题】:Rails-API + AuthlogicRails-API + Authlogic
【发布时间】:2013-11-07 09:23:44
【问题描述】:

我正在开发一个基于rails-api 并使用authlogic 处理用户身份验证的应用程序。

当我发布到UserSessions 时,用户已通过身份验证,并且正确的用户被更新并返回。 user_credentials cookie 正在设置中,当我查看请求标头时,我可以看到正在传递正确的 cookie。

我看到的问题是 current_user_sessioncurrent_user methods 没有被设置。

我正在使用非常标准的 current_user_session 和 current_user 方法。

def current_user_session
  return @current_user_session if defined?(@current_user_session)
  @current_user_session = UserSession.find
end

def current_user
  return @current_user if defined?(@current_user)
  @current_user = current_user_session && current_user_session.record
end

【问题讨论】:

    标签: ruby-on-rails authlogic


    【解决方案1】:

    这些是我在修补 rails-api 和 auth-logic 时未经研究的发现(因此,没有有用的链接,可能我误解了根本原因)

    通过使用 rails-api,您必须启用很多中间件,在我的例子中特别是 ActionDispatch::CookiesActionDispatch::Session::CookieStore

    查看POST请求响应,检查是否有标头Set-Cookie。如果没有,您将缺少自动生成该标头的中间件。

    尝试在你的 Gemfile 中注释掉 rails-api 并查看输出的差异

    rake middleware
    

    我希望这会有所帮助,如果我有时间深入研究这个问题,我希望记得更新这篇文章。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多