ruby Rails会话cookie不适用于chrome

nhhxz33t  于 2023-01-30  发布在  Ruby
关注(0)|答案(1)|浏览(117)

Ruby:3.1.3 Rails版本:浏览6.1.6.1器版本:109.0.5414.119
在会话控制器的cookie中设置user_id,但它不会在后续请求中显示,查看chrome中的应用程序检查器,它不会显示任何cookie设置。
这是设置cookie的控制器和函数

class Api::Auth::UserController < ApplicationController

  def create_session
    user = User.find_by(email: params[:email])

    if user.present?
      head :unauthorized unless user.authenticate(params[:password])
      session[:current_user_id] = user.id
      @success = true
      debugger
    else
      head :unauthorized
    end
  end

session[:current_user_id]nil时,除了401 unauthorized I之外,没有其他错误消息。
在firefox上运行得很好,但由于某种原因,Chrome并没有保存试图设置的cookie。

iq3niunx

iq3niunx1#

根据https://api.rubyonrails.org/classes/ActionDispatch/Cookies.html上的文档,最好使用cookie而不是会话
你应该能够做到这一点:
cookies[:current_user_id] = user.id
如果您认为值应该受到保护,也可以使用加密来存储值。
有几个线索供您调查为什么Chrome不工作:

相关问题