angularjs - 如果我从 Angularjs SPA 调用 VSO API,为什么我会在 Chrome 中收到 Internet Explorer 增强的安全错误消息?

标签 angularjs google-chrome authentication azure-devops-rest-api

我有一个用 Angularjs 实现的 SPA - Typescript 调用 VSO API 并提供身份验证数据,您可以在下面找到:

((): void => {
    "use strict";

    angular
        .module("app")
        .config(config);

    config.$inject = [
        "$httpProvider"
    ];

    function config(
        $httpProvider: ng.IHttpProvider
    ) {

        $httpProvider.defaults.headers.common['Authorization'] = "Bearer username:password";

    }
});

我看到浏览器的“网络”选项卡,该调用将被重定向到此处:

https://app.vssps.visualstudio.com/_signin?realm=dldxdm.visualstudio.com&reply_to...

以及以下请求。

控制台没有显示任何身份验证错误,但我的请求(GET)没有结果但应该是!我收到的不是结果,而是您可以在屏幕截图中看到的消息。 您的环境当前启用了 Microsoft Internet Explorer 的增强安全配置。这种增强的安全级别会阻止我们的 Web 集成体验正确显示或执行。要继续您的操作,请禁用此配置或联系您的管理员。但查询在 Chrome 中执行。为什么这里会出现 IE 错误消息?

enter image description here

在浏览器中,我登录到项目的 VSO,如果我复制 URL 并粘贴到另一个选项卡中并执行它,我将获得我正在寻找的正确结果。

问题:

  • 为什么 Angular 应用执行的查询没有结果?
  • 我应该如何进行 VSO 身份验证?我无法设置 token ,因为它当前在本地主机上运行。

我用谷歌搜索了 IE 错误消息,但没有答案。如何禁用 IE 的增强安全性我找到了 Windows Server 的答案。我认为它们与我的问题无关。

更新:

好的,我有一个 article关于正在发生的事情。下一步,实现。

最佳答案

我发现这种情况发生在我身上,因为我的 PAT 由于复制和粘贴错误而错误。

看起来您可能无法进行身份验证,因为您没有对不记名 token 进行 Base64 编码。

关于angularjs - 如果我从 Angularjs SPA 调用 VSO API,为什么我会在 Chrome 中收到 Internet Explorer 增强的安全错误消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33498440/

相关文章:

javascript - 输入在 ng-sortable 容器中不可编辑

javascript - Angular 1.6.4 如何检测组件的无绑定(bind)属性的变化

json - 返回按钮 (Chrome) 在 Play 框架中获取 Json 而不是 HTML

authentication - 没有为第二个选项卡触发 Firebase onauth

jquery - 如何在另一个 ajax 调用后运行一个 ajax 调用?

javascript - Angularjs orderBy 无法正常工作

javascript - Angular Forms - 如何使用动态名称注册输入?

css - 字体在 Microsoft Edge 或 IE 中不起作用

html - 如何阻止文本区域在两个不同版本的 chrome 上看起来不同?

authentication - 禁止在 ASP.NET Core 中对 API URL 进行重定向