我有一个前端和后端应用程序。它们位于不同的域(子域)中。
前端应用程序执行第一个请求(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
上时,这是不可能的,因为它们是不同的域。
有什么好心的帮我?提前谢谢。
答案 0 :(得分:1)
您需要考虑以下事项: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
答案 1 :(得分:0)
进一步了解rails我只需要在子域之间共享cookie,如下所示:
cookies['XSRF-TOKEN'] = { value: form_authenticity_token, domain: '.myapp.com'}