首页 > 解决方案 > Microsoft Graph API - 如何在没有授权码的情况下获取访问令牌?

问题描述

我希望我的 Web API 获得访问令牌,然后调用 Microsoft Graph API。我浏览了一些文档和线程,但他们都谈到了一种 POST 方法,该方法要求在 AAD 上注册应用程序时创建的客户端 ID 和应用程序机密。

我在这里关注这个文件。

我的问题是:

是什么client_credentials?我应该从哪里得到它?我认为 API 应该与我只使用的秘密和客户端一起工作。

我感谢您的帮助。

标签: c#oauth-2.0azure-active-directorymicrosoft-graph-api

解决方案


HTTP请求中有4个参数:

  1. grant_type:在这种情况下,值为“client_credentials”
  2. client_id:您的应用程序的客户端 ID
  3. client_secret:你的应用的客户端密码
  4. 资源:您想要令牌的 API 的标识符,在这种情况下https://graph.microsoft.com

因此,您的应用只需要客户端 ID 和密码。

如果您使用 v2 端点/MSAL,请注意没有资源参数。相反,您将使用scope=https://graph.microsoft.com/.default.


推荐阅读