Cookies 无法在Safari 13中的测试子域之间共享cookie
我有apache for& 当浏览cookie时,将其设置为基本域“.example.test”using php“session.cookie\u domain”。这在Chrome、Firefox或Safari版本12之前的版本中都可以使用。 但是,它在Safari 13(iOS 13或Catalina)中不再起作用 更奇怪的是,在Safari 13上,我的生产机器为& 我对COM和测试服务器都有相同的apache服务器配置。在将我的iOS设备更新到iOS 13或在Catalina之后的MacOS中,它只是停止了开发“.test”服务器。Chrome、Firefox仍然可以使用。即使是连接到我的开发机器的旧iOS设备(通过代理)仍然将cookie存储到基本域“.example.test”。所以它看起来像是Safari 13特有的东西,并且只在“.test”域中 我已经使用苹果公司的最新建议(最多825天等)为我的.TEST服务器创建了新的证书,但没有任何区别。自签名证书似乎发生了一些变化。或者可能存在“.test”(非公共)域的新规则?它是Safari特有的,“.test”不是公共域或证书。或者其他我根本没想到的事情Cookies 无法在Safari 13中的测试子域之间共享cookie,cookies,safari,cross-domain,Cookies,Safari,Cross Domain,我有apache for& 当浏览cookie时,将其设置为基本域“.example.test”using php“session.cookie\u domain”。这在Chrome、Firefox或Safari版本12之前的版本中都可以使用。 但是,它在Safari 13(iOS 13或Catalina)中不再起作用 更奇怪的是,在Safari 13上,我的生产机器为& 我对COM和测试服务器都有相同的apache服务器配置。在将我的iOS设备更新到iOS 13或在Catalina之后的Mac
你知道如何配置Apache/Macosx/certificates,以便我仍然可以在development.TestDomains中使用Safari 13跨子域共享cookie吗?谢谢。这不是证书的问题,但Safari解析
.test
TLD的方式似乎有所不同
我们通过为每个需要的子域显式设置cookie来解决这个问题。在我们的Rails应用程序中,在开发环境中,我们将会话存储设置为:
config.session\u存储(
:活动记录存储,
键:“我们的应用程序会话”,
域:['ourapp.test','api.ourapp.test','help.ourapp.test']
)
如果您能够找到在后端执行相同操作的方法,那么您应该能够对不同的
.test
子域使用相同的cookie。这里同样适用于通配符子域和.test
tld的cookie。它在Chrome中工作,但Safari 13不设置cookie
我的解决方法是使用.local
子域,一切正常
(将每个子域指定为@gueorgui suggered不会按预期工作,因为浏览器将为每个子域设置单独的cookie)我也看到了
.test
tld的子域和cookie出现此问题。很高兴我不是唯一一个出现此问题的人。这困扰了我好几个星期……我已经通过苹果的反馈助手向Safari团队提交了以下内容: