Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 获得;Microsoft Internet Explorer';s增强的安全配置……”;尝试使用MSAL执行Azure DevOps API时出错_Angular_Azure_Internet Explorer_Azure Devops_Msal - Fatal编程技术网

Angular 获得;Microsoft Internet Explorer';s增强的安全配置……”;尝试使用MSAL执行Azure DevOps API时出错

Angular 获得;Microsoft Internet Explorer';s增强的安全配置……”;尝试使用MSAL执行Azure DevOps API时出错,angular,azure,internet-explorer,azure-devops,msal,Angular,Azure,Internet Explorer,Azure Devops,Msal,我正在编写angular.io应用程序,它将在Azure DevOps中调用rest API。我正在使用MSAL库,它几乎可以正常工作。我成功地验证并调用了Azure DevOps API,我看到MSAL HTTP拦截器向请求添加了一个承载令牌(通过Chrome开发者工具) Azure以302将我重定向到https://spsprodcus1.vssps.visualstudio.com/_signin。我可以看到,承载令牌也随此请求一起发送。这个地址给了我一个203,上面写着: Microso

我正在编写angular.io应用程序,它将在Azure DevOps中调用rest API。我正在使用MSAL库,它几乎可以正常工作。我成功地验证并调用了Azure DevOps API,我看到MSAL HTTP拦截器向请求添加了一个承载令牌(通过Chrome开发者工具)

Azure以302将我重定向到
https://spsprodcus1.vssps.visualstudio.com/_signin
。我可以看到,承载令牌也随此请求一起发送。这个地址给了我一个203,上面写着:

Microsoft Internet Explorer的增强安全配置为 当前已在您的环境上启用。这增强了安全级别 阻止我们的web集成体验显示或执行 正确地要继续操作,请禁用此选项 配置或与管理员联系

似乎我的应用程序没有权限在DevOps中进行操作。在我为此注册并指向MSAL的应用程序中,在“API权限”中,我授予了对“Azure DevOps(1)”的访问权限

我能做些什么呢

--编辑

下面是我的令牌解码的内容(带有一些密文)。我没有对它做任何事情,MSAL似乎在对我的授权请求的响应中从location报头获取它,并将它放在restful调用的授权报头中(前缀为“Bearer”)


你核对过这个答案了吗?谢谢你的回答,塞巴斯蒂安,我确实看过那篇文章了。在我的例子中,我使用的是MSAL(用于对Azure进行身份验证和处理令牌的microsoft库),因此大部分内容都是通过该库为我处理的。我认为它运行得相当好,因为它将令牌附加到我的请求中。因此,除非我不使用库的该部分,否则我无法控制令牌的制作和连接方式,但我希望问题是我使用库不正确,或者Azure端的某些配置不正确,无法允许访问。你可以尝试将相关站点添加到受信任的站点。有关详细信息,请参阅。此外,203个错误通常是由不正确的PAT格式引起的。谢谢你的评论,Hugh,我查看了受信任的站点文章并将microsoft站点设置为受信任的站点,但这并没有修复它。我发布了我要传递给DevOps的令牌,它的格式对我来说似乎是正确的,但我不知道其中需要包含什么。
https://dev.azure.com/my org/my project/my team/_apis/wit/wiql/my query id?api-version=5.1

{
  "typ": "JWT",
  "alg": "RS256",
  "x5t": "encoded Stuff",
  "kid": "encoded Stuff"
}
{
  "aud": "api://44df9afb-cf92-4965-9378-05317e85ab96",
  "iss": "https://sts.windows.net/GUID/",
  "iat": 1585087477,
  "nbf": 1585087477,
  "exp": 1585091377,
  "acr": "1",
  "aio": "encoded Stuff",
  "amr": [
    "wia"
  ],
  "appid": "id of the app I registered",
  "appidacr": "0",
  "family_name": "Rispoli",
  "given_name": "Thomas",
  "in_corp": "true",
  "ipaddr": "ip address",
  "name": "Rispoli, Thomas",
  "oid": "encoded Stuff",
  "onprem_sid": "encoded Stuff",
  "scp": "user_impersonation",
  "sub": "encoded Stuff",
  "tid": "encoded Stuff",
  "unique_name": "thomas.rispoli@cgi.com",
  "upn": "thomas.rispoli@cgi.com",
  "uti": "encoded Stuff",
  "ver": "1.0"
} Then some binary data that I assume is a nounce