向 Chrome 66 中的 NTLM 身份验证服务器发出 API 请求
Making an API request to a NTLM authenticated server in Chrome 66
将我的浏览器升级到 Chrome 66 后,我在向最初需要 NTLM 身份验证的服务器创建任何 API 请求时遇到问题。我想知道是否有人对原因有任何解释。我认为这与添加的广告拦截技术或添加到 Chrome 的安全性有关,或者可能是 Chrome 错误。
我在下面使用 Fetch 创建了一个基本示例。当用户访问该站点时,Chrome 会将用户重定向到 API 进行身份验证(而不是像以前版本的 Chrome 一样留在同一站点上),当用户进行身份验证时页面变为空白,Chrome 似乎禁用了键盘(我无法按 cmd + w 关闭选项卡)。当我刷新此页面时,API 响应开始显示在浏览器中。用户通过身份验证后,他们可以返回到创建 API 请求的初始页面,它工作正常。
是否需要在 headers 中添加一些内容才能使其正常工作?
请不要只是建议使用替代身份验证方法作为解决方案。
<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>
正如您所怀疑的,这已被报告为 Chrome 66 中的错误。我链接到您的 post 并在那里添加了我自己的评论。
https://bugs.chromium.org/p/chromium/issues/detail?id=843861
将我的浏览器升级到 Chrome 66 后,我在向最初需要 NTLM 身份验证的服务器创建任何 API 请求时遇到问题。我想知道是否有人对原因有任何解释。我认为这与添加的广告拦截技术或添加到 Chrome 的安全性有关,或者可能是 Chrome 错误。
我在下面使用 Fetch 创建了一个基本示例。当用户访问该站点时,Chrome 会将用户重定向到 API 进行身份验证(而不是像以前版本的 Chrome 一样留在同一站点上),当用户进行身份验证时页面变为空白,Chrome 似乎禁用了键盘(我无法按 cmd + w 关闭选项卡)。当我刷新此页面时,API 响应开始显示在浏览器中。用户通过身份验证后,他们可以返回到创建 API 请求的初始页面,它工作正常。
是否需要在 headers 中添加一些内容才能使其正常工作?
请不要只是建议使用替代身份验证方法作为解决方案。
<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>
正如您所怀疑的,这已被报告为 Chrome 66 中的错误。我链接到您的 post 并在那里添加了我自己的评论。
https://bugs.chromium.org/p/chromium/issues/detail?id=843861