Say*_*ndo 9 authentication google-chrome angularjs 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";
}
});
Run Code Online (Sandbox Code Playgroud)
我看到浏览器的"网络"选项卡将此调用重定向到此处:
https://app.vssps.visualstudio.com/_signin?realm=dldxdm.visualstudio.com&reply_to...
Run Code Online (Sandbox Code Playgroud)
并提出以下要求.
控制台没有显示任何身份验证错误,但没有我的请求(GET)的结果,但应该是!而不是结果,我得到你可以在截图中看到的消息.这是微软Internet Explorer的增强的安全配置在您的环境目前已启用.这种增强的安全级别可防止我们的Web集成体验正确显示或执行.要继续操作,请禁用此配置或与管理员联系.但是在Chrome中执行了查询.为什么IE错误消息在这里?
在浏览器中我登录到VSO到项目,如果我复制url并粘贴到另一个选项卡并执行它,我将得到我正在寻找的正确结果.
问题:
我用谷歌搜索IE错误消息,但没有答案.如何禁用IE的增强安全性我找到了Windows Server的答案.我不认为他们与我的问题有关.
更新:
在您的个人访问令牌 (PAT) 前添加 :(冒号)。然后对其进行 Base 64 编码。
例如:
如果“myaccesstoken”是我的 PAT,
将 Base 64 编码器应用于“:myaccesstoken”
在授权标头中,将基本编码字符串放置为:
授权:基本 MyColonPrefixedBase64String
我发现当我的PAT由于复制和粘贴错误而错误时,这发生在我身上.
看起来您可能未通过身份验证,因为您没有对承载令牌进行base64编码.
小智 5
我有同样的问题。我在邮递员中验证了这一点,如下所示......
我不必对我的 PAT 进行 base64 编码。我发现我只需要仔细检查我的 PAT 是否具有正确的访问权限。我将数据作为基本身份验证传递。用户名:“随便你” 密码:PAT
回应:200
归档时间: |
|
查看次数: |
4881 次 |
最近记录: |