Unauthorized Error : Negotiate token Instead of bearer token comes in IE

Unauthorized Error : Negotiate token Instead of bearer token comes in IE

我们使用 angularjs 和网络 api 开发了一个网络应用程序。该应用程序部署在 IIS 8.5 中。用户在AD域中,我们的站点添加到本地Intranet区域并且还选择了仅在Intranet区域选项中的自动登录。

我们在我们的应用程序中使用 OWIN 使用基于 Web api 令牌的身份验证。所以我们禁用了除匿名身份验证之外的所有 IIS 身份验证方法。登录到应用程序时,将在服务器端生成令牌,并将此令牌发送回客户端。我们将此令牌保存在 sessionStorage 中,并将附加到 http 请求 header 中,如 "Authorization : Bearer auth_token"。

但在某些时候,大多数情况下,如果我们等待超过 1 分钟,我们就会看到 "Authorization: Negotiate some_token" 正在发送我们的 api 呼叫。因此服务器将响应 401 未授权错误。

有人有同样的经验吗? 提前致谢

我们可以通过应用来避免这个问题 document.execCommand('ClearAuthenticationCache', 假); 在我们的 app.js 文件中。

通过在角色级别启用匿名身份验证也可以解决我们的问题。