我在多个端口下的单个服务器上使用快速会话运行多个MEAN应用程序。当我对应用程序A进行身份验证时,会修改另一个(应用程序B)的已建立令牌。然后拒绝应用程序B的经过身份验证的用户会话。
如何配置我的所有应用程序以独立保存和验证令牌?例如,在localhost上,应用程序A在端口80上运行,应用程序B在端口90上运行。我希望用户能够在不中断其他用户的应用程序B会话的情况下进行身份验证和使用应用程序A.
以下是我的app.js文件中与我的问题相关的代码:
var idList = value as IEnumerable<int>;
答案 0 :(得分:1)
Cookie(用于存储会话标识符)在给定主机名的所有端口之间共享,这就是您的应用相互干扰的原因。
express-session
的文档建议如下:
如果你有多个应用程序在同一个主机名上运行(这只是名称,即
localhost
或127.0.0.1
;不同的方案和端口没有命名不同的主机名,那么你需要分开彼此的会话cookie。最简单的方法是简单地为每个应用设置不同的name
。