使用客户端凭据的Azure AD服务到服务的呼叫-共享密钥

时间:2019-07-22 20:26:15

标签: azure azure-active-directory

我有一个API托管在云中,并且在同一组织和同一网络上但在本地计算机上有一个守护程序应用程序客户端。我对设置进行了两次和三次检查,但仍然无法相互连接。

因此,为了解决这个问题,我将它们分为两个子问题。

  1. 将Daemon App连接到Azure AD检索令牌,然后使用令牌访问Microsoft Graph。 令牌发布后出错。
Failed to call the Web Api: Forbidden
Content: {
  "error": {
    "code": "Authorization_RequestDenied",
    "message": "Insufficient privileges to complete the operation.",
    "innerError": {
      "request-id": "2646f5f8-9c25-482d-a89f-f14ca6c06cf7",
      "date": "2019-07-22T01:13:30"
    }
  }

我使用此Azure DocumentSample来产生上述错误。

Client API Permissions

  1. 使用守护程序应用程序访问API-由于我无法通过步骤1,因此我从未接触过。

关于如何解决此问题的任何想法。我想念一些简单的东西吗?

1 个答案:

答案 0 :(得分:0)

Azure AD Graph APIMicrosoft Graph API不同。因此,有两种方法可以使其起作用。

1 使用Microsoft Graph API

您应该向应用程序授予Microsoft graph api权限。

enter image description here

2 使用Azure AD Graph API

您需要更新以下代码。

a。将范围更改为https://graph.windows.net/.default

b。将api更改为GET https://graph.windows.net/myorganization/users?api-version=1.6

注意:

  

我们强烈建议您使用Microsoft Graph代替Azure AD   Graph API访问Azure Active Directory资源。