使用 MSAL 获取 Graph API 的令牌?

Acquire token for Graph API using MSAL?

我正在尝试使用 MSAL (1.0.304142221-alpha) 通过客户端凭据流获取 Microsoft Graph API 的令牌。我的代码如下所示:

var confidentialClientApp = new ConfidentialClientApplication(clientId, redirectUri, new ClientCredential(clientSecret), null);
var token = confidentialClientApp.AcquireTokenForClient(new string[] { "Mail.Read" }, string.Empty).Result;

第2行抛出异常:"AADSTS70011: The provided value for the input parameter 'scope' is not valid. The scope Mail.Read is not valid."。 Graph API reference 似乎将 "Mail.Read" 引用为所需范围。

Azure AD 中的应用程序是一个具有单个密钥的 Web 应用程序。该应用程序具有 Microsoft Graph 的 "Read mail in all mailboxes" 应用程序权限集。

任何人都可以阐明发生了什么事吗?谢谢 :)

Azure AD 端点的 v2 尚不支持仅限应用程序的令牌。目前您只能使用委托代币。我们希望尽快启用仅限应用程序的令牌,对于给您带来的不便,我们深表歉意。