gpt4 book ai didi

ruby-on-rails - 将cookie session 存储添加回Rails API应用

转载 作者:行者123 更新时间:2023-12-01 04:45:32 26 4
gpt4 key购买 nike

我有一个Rails-API应用程序。或多或少“开箱即用”,但我想重新添加基于cookie的 session 存储。这是我所做的:

app / controllers / application_controller.rb

+ include ::ActionController::Cookies

config / application.rb
+ config.middleware.insert_after ActiveRecord::QueryCache, ActionDispatch::Cookies
+ config.middleware.insert_after ActionDispatch::Cookies, ActionDispatch::Session::CookieStore

创建的config / initializers / secret_token.rb
+ Namespace::Application.config.secret_token = 'token'

创建的config / initializers / session_store.rb
+ Namespace::Application.config.session_store :cookie_store, :key => '_namespace_key'

当我在 Controller 中检查 session 时,结果为:
<Rack::Session::Abstract::SessionHash:0x3fdadc5daa24 not yet loaded>

但是,似乎确实正在写入和使用数据。

但是,在我的浏览器中,cookie本身被命名为“_session_id”而不是“_namespace_key”

我以为我添加了基于cookie的 session 存储所需的所有内容,但似乎遗漏了其他内容。有任何想法吗?

最佳答案

您需要从application.rb文件中删除这些中间件声明,并添加以下内容:

config.api_only = false

如果初始化程序中有配置的 session_store(您具有),则将以您想要的方式启用 session 管理。这没有明确记录, but that's what you're supposed to do

示例 here

关于ruby-on-rails - 将cookie session 存储添加回Rails API应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15342710/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com