我正在尝试找到一种在我的两个网站之间共享会话cookie的方法。我不确定这是否是最好的方法,或者我是否应该将这些网站放在同一个域上或切换到不同的方法。
我有两个网站: adminCRM.com 和 customerSite.com 。管理站点基于1.5 Mean骨架,使用oauth和passport生成会话cookie,以保持用户登录。用户被授予管理员和/或客户角色。 customerSite.com有一个iframe,它在adminCRM.com上调用登录api。然后,customerSite从adminCRM的响应头中获取会话cookie。
在大多数情况下,此会话cookie方法似乎已足够。 问题是这种方法不适用于safari和其他默认拒绝第三方cookie的浏览器。
我研究过变通方法并且尚未找到当前可行的解决方案。但是,我对这一切都很陌生,我觉得我可能会以错误的方式解决这个问题。
是否有解决方法在Safari上设置第三方Cookie?我应该放弃第三方cookie并切换到不同的方法吗?任何帮助深表感谢。
答案 0 :(得分:0)
更新:消除了第三方Cookie Safari问题。保持域名分离。
我无法找到允许第三方Cookie的方法,但无论如何这本来都是hackish。
我最终仍然保持域名分离,只是从会话cookie切换到JWT。我使用了mleanos meanstack功能: https://github.com/mleanos/mean/tree/feature/JWT-Auth-Lib
答案 1 :(得分:0)
通过将其中一个站点作为另一个站点的子域,我认为浏览器不再将其视为第三方。例如。 adminCRM.customerSite.com