1

我收到消息

{    "Message": "Authorization has been denied for this request." }

当尝试使用来自https://github.com/AzureADQuickStarts/AppModelv2-WebAPI-DotNet的 API 时,如下面的邮递员屏幕截图所示:

在此处输入图像描述

我正在尝试从 js 文件中调用它

$.ajax({
    type: "GET",
    url: window.config.webApi + "TodoList/Get",
    headers: {
        'Authorization': 'Bearer ' + accessToken,
    },
}).done(function (data) {
    logMessage("Web APi returned:\n" + JSON.stringify(data));
})
.fail(function (jqXHR, textStatus) {
    logMessage("Error calling the Web api:\n" + textStatus);
});
4

1 回答 1

1

根据图中的令牌,您正在使用无法解码的 Microsoft 帐户获取access_token 。

AFAIK,在这种情况下,要调用受 Azure AD V2.0 应用程序保护的 Web API,我们可以使用appid 与您用来保护 Web API 的应用程序相同的id_token 。如果您使用 Fiddler 调试代码并捕获请求,您提到的代码示例也使用 id_token 发送授权请求。

请随时让我知道它是否适合您。

于 2017-06-16T07:49:42.677 回答