前端是 nodejs 项目,后端是 symfony 项目,前后端域名分别是:a.example.com 和 b.example.com 。 后端有个创建 token 的网址: https://b.example.com/token.html,设置一个共享的 cookie: token。
public function token()
{
$tokenTokenManager = $this->container->get('security.csrf.token_manager');
$token = $csrfTokenManager->refreshToken($this->tokenName);
$tokenCookie = new Cookie(
'token',
$token,
time() + 3600,
'/',
$this->cookieDomain,
true,
false
);
$response = new Response();
$response->headers->setCookie($tokenCookie);
return $response;
}
如果单独执行 https://b.example.com/token.html,前端可以获取到 cookie。但是如果通过前端请求这个网址,cookie 就为空,这个是怎么回事呢?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.