相关疑难解决方法(0)

将cookie会话存储添加回Rails API应用程序

我有一个Rails-API应用程序.或多或少"开箱即用",但我想添加回基于cookie的会话存储.这就是我所做的:

应用程序/控制器/ application_controller.rb

+ include ::ActionController::Cookies
Run Code Online (Sandbox Code Playgroud)

配置/ application.rb中

+ config.middleware.insert_after ActiveRecord::QueryCache, ActionDispatch::Cookies
+ config.middleware.insert_after ActionDispatch::Cookies, ActionDispatch::Session::CookieStore
Run Code Online (Sandbox Code Playgroud)

创建了config/initializers/secret_token.rb

+ Namespace::Application.config.secret_token = 'token'
Run Code Online (Sandbox Code Playgroud)

创建了config/initializers/session_store.rb

+ Namespace::Application.config.session_store :cookie_store, :key => '_namespace_key'
Run Code Online (Sandbox Code Playgroud)

当我在控制器中检查会话时,它会导致:

<Rack::Session::Abstract::SessionHash:0x3fdadc5daa24 not yet loaded>
Run Code Online (Sandbox Code Playgroud)

但是看起来确实正在写入和使用数据.

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

我以为我添加了基于cookie的会话存储所需的每一件,但我似乎缺少别的东西.有任何想法吗?

ruby-on-rails

31
推荐指数
4
解决办法
1万
查看次数

标签 统计

ruby-on-rails ×1