我正试图找到一种在我的两个站点之间共享会话cookie的方法。我不确定这是否是最好的方法,或者我是否应该将这些网站放在同一个域上或切换到不同的方法。
我有两个网站:adminCRM.com和customerSite.com。管理网站基于1.5平均框架,使用oauth和passport生成会话cookie,让用户登录。用户被赋予管理员和/或客户角色。customerSite.com有一个iframe,它调用adminCRM.com上的登录api。customerSite然后从adminCRM的响应头中获取会话cookie。
在大多数情况下,这种会话cookie方法似乎已经足够了。问题是,这种方法不适用于safari和其他默认拒绝第三方cookie的浏览器。
我研究了周围的工作,还没有找到一个目前可行的解决方案。然而,我对这一切都很陌生,我觉得我可能以错误的方式处理这件事。
有没有办法在safari上设置第三方cookie?我应该放弃第三方cookie并改用其他方法吗?非常感谢您的帮助。
更新:消除了第三方cookie Safari问题。保持域分离。
我没能找到允许第三方cookie的方法,但无论如何,这都会很烦人。
我最终仍然将域分开,只是从会话cookie切换到JWT。我使用了mleanos的meanstack功能:https://github.com/mleanos/mean/tree/feature/JWT-Auth-Lib
通过使其中一个网站成为另一个网站的子域,我认为它不再被浏览器视为第三方。例如adminCRM.customerSite.com