Express res.redirect被阻止,可能是由于用户的本地设置

时间:2018-12-14 14:44:40

标签: express redirect windows-10 load-balancing group-policy

我们目前正在用少数几个较小的新UI(主要是node.js + Express + React)替换一个整体式旧应用程序(以struts编写)。在逐步解决替换问题时,当前用户的行为是继续通过现有IDaaS解决方案登录并单击进入各种新UI。

当前实施涉及到旧版应用程序向新应用程序上的安全端点发送一个包含您已提供的IDaaS令牌的POST请求,该请求将创建一个包含此令牌的快速会话并将您重定向到新的主页。随后的api调用使用此令牌重新检查身份验证。下面提供了一个简化的登录示例:

const login = (req, res) => {
  req.session.token = req.body.token;
  res.redirect('/');
};

访问量最大的新用户界面已经运行了大约六个月,每天提供约1万次会话。

直到上周,这似乎一直工作正常,但是现在有足够的用户(6000多个用户中的1%)报告此重定向似乎已被阻止,几乎陷入了我们的旧版应用程序与新的Express应用程序之间。我无法在本地复制它,但是已经与用户在电话上逐步联系,并让他们截屏显示卡住的位置:

Redirect Error

已要求用户查看源代码,该html似乎不是来自我们的旧版应用程序或新的express应用程序(除非它被埋在底层库中)。只是以下html(在屏幕截图中很难看到,因此已在此处复制):

2d
<p>Found. Redirecting to <a href="/">/</a><p>
1

值得一提的是,他们在点击此页面后是否只是简单地手动导航到新应用的URL。确认原始POST请求已成功并且会话已正确建立。

所有面临该问题的用户都与一家相似的公司相关联,但不一定位于同一建筑物内。它们似乎都安装在Windows 10上,并且直到本周初为止,它们一直在为它们工作。

因为它实际上最终出现在这个新的神秘页面上,所以我无法真正提供“如果您未重定向,请单击此处”后备。

任何人都可以识别此类HTML页面,或者知道我可以尝试在Windows上进行组策略更改,以便在本地复制并编写变通办法吗?

0 个答案:

没有答案