使用 MSAL 获取 Graph API 的令牌?

Adr*_*man 5 azure-ad-msal microsoft-graph-api

我尝试使用 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;
Run Code Online (Sandbox Code Playgroud)

第二行抛出异常:“AADSTS70011:为输入参数“范围”提供的值无效。范围 Mail.Read 无效。”。图形API 参考似乎引用“Mail.Read”作为所需范围。

Azure AD 中的应用程序是具有单个密钥的 Web 应用程序。该应用程序具有为 Microsoft Graph 设置的“读取所有邮箱中的邮件”应用程序权限。

有人能解释一下发生了什么吗?谢谢 :)

小智 3

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

  • 现在可以使用了! (2认同)