0

将我的浏览器升级到 Chrome 66 后,我在向最初需要 NTLM 身份验证的服务器创建任何 API 请求时遇到问题。我想知道是否有人对原因有任何解释。我认为这与添加到 Chrome 的广告拦截技术或安全性有关,或者可能是 Chrome 错误。

我在下面使用 Fetch 创建了一个基本示例。发生的情况是用户访问该站点,Chrome 将用户重定向到 API 进行身份验证(而不是像以前版本的 Chrome 一样留在同一站点上),当用户进行身份验证时页面变为空白并且 Chrome 似乎禁用了键盘(我无法按 cmd + w 关闭选项卡)。当我刷新此页面时,API 响应开始显示在浏览器中。用户通过身份验证后,他们可以返回创建 API 请求的初始页面,并且工作正常。

是否需要在标题中添加一些内容才能使其正常工作?

请不要只建议使用替代身份验证方法作为解决方案。

<html>
<head>
    <script type="text/javascript">
        fetch('https://fakeapiurl.com/api', {
            credentials: 'include'
        })
        .then(function(response) {
            return response.json();
        })
        .then(function(myJson) {
            console.log(myJson);
        });
    </script>
</head>

<body>
</body>
</html>
4

1 回答 1

2

正如您所怀疑的,这已被报告为 Chrome 66 中的错误。我链接到你的帖子,并在那里添加了我自己的评论。

https://bugs.chromium.org/p/chromium/issues/detail?id=843861

于 2018-05-17T21:47:01.923 回答