我正在尝试使用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;
第二行引发异常:“AADSTS70011:输入参数’scope’的提供值无效.范围Mail.Read无效.”
Graph API reference似乎引用“Mail.Read”作为必需的范围.
Azure AD中的应用程序是具有单个密钥的Web应用程序.该应用程序具有为Microsoft Graph设置的“在所有邮箱中读取邮件”应用程序权限.
任何人都可以了解发生了什么事吗?谢谢 :)
解决方法
Azure AD端点的v2尚不支持仅限应用程序令牌.目前,您只能使用委托令牌.我们希望尽快启用仅限应用令牌,对此造成的不便表示歉意.