【发布时间】:2019-07-27 02:17:11
【问题描述】:
我开发了一个调用 Express 后端的 React 应用。它们是两个完全不同的应用程序,位于两个不同的目录中,并且托管在不同的域上。我使用passport 对用户进行身份验证,并使用express-session 确保他们的会话持续存在。在开发中一切都按预期工作,但是当托管应用程序时,会话不会持续存在。我意识到这是因为应用程序位于不同的域中,并且来自我的 Express 服务器的 cookie 被浏览器阻止。为了解决这个问题,我需要做的是把我的应用程序放在同一个域上,我正在尝试找出最好的方法来解决这个问题。到目前为止,我已经提出了两种解决方案,但我想了解一下哪种解决方案最好,以及是否有比这两种更好的解决方案。
1) 将应用程序移动到同一目录中。我不确定如何在路由和定义我的应用程序的入口点方面进行此操作(如何同时在同一目录中启动两个应用程序?)。任何有关这方面的资源将不胜感激
2) 这两个应用程序目前都托管在 Heroku 上。我正在考虑购买一个域并使用 Route 53 别名将它们放在同一个域中,但我也不确定这背后的逻辑以及这是否会有效。
【问题讨论】:
标签: reactjs express cookies hosting express-session