尝试在不同的域上使用CORS和XSRF

问题描述 投票:1回答:2

我有一个前端和一个后端应用程序。它们位于不同的域(子域)中。前端应用程序执行第一个请求(GET)以获取一些服务器端信息,基本上是session_idXSRF-TOKEN Cookie。

情况是:

myapp.com cookies: _session_id api.myapp.com cookies: XSRF-TOKEN

因此,我的前端应用获得了_session_id cookie,但没有获得XSRF-TOKEN。当我尝试让XSRF-TOKENX-XSRF-TOKEN一样放在标题上时,这是不可能的,因为它们是不同的域。

有什么好灵魂可以帮助我吗?预先感谢。

javascript ruby-on-rails cross-domain csrf
2个回答
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

0
投票

进一步了解一下,我只需要像这样在子域之间共享cookie:

cookies['XSRF-TOKEN'] = { value: form_authenticity_token, domain: '.myapp.com'}
© www.soinside.com 2019 - 2024. All rights reserved.