项目1:MVC App:
所以我有一个常规的.Net Core MVC应用程序,当用户导航到托管在端口3000上的myDomain.com时,用户可以登陆。在这里,我使用常规控制器和剃刀视图等。在此应用程序中,用户可以登录此时将返回JWT令牌并将其存储在本地存储中。它们还将导航到用户门户(托管在端口3001上)。此MVC应用程序还将包含我的用户门户的API控制器
项目2:SPA应用(用户门户):
用户门户基本上是一个单独的客户端SPA项目,使用react将托管在端口3001上,该端口具有自己的单独节点js服务器,并在端口3000上调用MVC项目API。
所以我的问题是如何在这两个端口上保留我的登录令牌?这甚至可能吗?这种架构是否有意义?您可以提供有关此主题的任何阅读材料。
答案 0 :(得分:2)
在您的网络服务器之前放一个简单的反向代理。然后,您可以在同一个域下提供两个页面:
myDomain.com/application1 --> reverse proxy to port 3000
myDomain.com/application2 --> reverse proxy to port 3001
或
app1.myDomain.com --> port 3000
app2.myDomain.com --> port 3001
您可以在IIS中设置反向代理或只使用nginx。
答案 1 :(得分:1)
我认为您需要的是会话存储的跨域方案。本文讨论了一个可以用来使用IFrame共享会话存储的技巧
https://jcubic.wordpress.com/2014/06/20/cross-domain-localstorage/
希望这有帮助