Mam aplikację Rails-API. Mniej lub więcej "po wyjęciu z pudełka", ale chcę dodać z powrotem magazyn sesji oparty na plikach cookie. Oto co zrobiłem:Dodawanie przechowywania sesji plików cookie do aplikacji Rails API
app/controllers/application_controller.rb
+ include ::ActionController::Cookies
config/environment.rb
+ config.middleware.insert_after ActiveRecord::QueryCache, ActionDispatch::Cookies
+ config.middleware.insert_after ActionDispatch::Cookies, ActionDispatch::Session::CookieStore
stworzony config/inicjalizatory/secret_token.rb
+ Namespace::Application.config.secret_token = 'token'
utworzona konfiguracja/inicjalizacje/session_store.rb
+ Namespace::Application.config.session_store :cookie_store, :key => '_namespace_key'
Kiedy sprawdzać sesję w kontrolerze wynika:
<Rack::Session::Abstract::SessionHash:0x3fdadc5daa24 not yet loaded>
Jednak wydaje się, że dane są zapisywane i używane.
Ale w mojej przeglądarce sam plik cookie jest nazwany jako „_session_id” zamiast „_namespace_key”
myślałem dodałam z powrotem każdy kawałek wymaganej dla plików cookie oparte przechowywania sesji, ale wydaje się, że brakuje czegoś innego . Jakieś pomysły?
Mam również ten sam problem, czy w końcu wyłączyłeś 'api_only'? wydaje się, że to nie jest dobre rozwiązanie .. – Zennichimaro