我有一个前端和一个后端应用程序。它们位于不同的域(子域)中。前端应用程序执行第一个请求(GET)以获取一些服务器端信息,基本上是session_id
和XSRF-TOKEN
Cookie。
情况是:
myapp.com cookies: _session_id
api.myapp.com cookies: XSRF-TOKEN
因此,我的前端应用获得了_session_id
cookie,但没有获得XSRF-TOKEN
。当我尝试让XSRF-TOKEN
像X-XSRF-TOKEN
一样放在标题上时,这是不可能的,因为它们是不同的域。
有什么好灵魂可以帮助我吗?预先感谢。
您将考虑以下事项:Share session (cookies) between subdomains in Rails?
#config/initializers/session_store.rb
YourApp::Application.config.session_store :cookie_store, key: '_yourapp_session', domain: :all, tld_length: 2
进一步了解一下,我只需要像这样在子域之间共享cookie:
cookies['XSRF-TOKEN'] = { value: form_authenticity_token, domain: '.myapp.com'}