我有一个使用AAD注册的本机应用程序(WPF)并将其设置为拥有Microsoft Graph的权限。我有一小组委派权限可以启动。一切都很好 - 即阅读用户的日历。
我添加了一些额外的权限(具体是SendMail)。当我想使用Graph SDK发送电子邮件时,我收到了访问错误。当我检查ADAL返回的访问令牌时,它只包含范围“scp”:“Calendars.Read offline_access Tasks.Read User.Read”。
非常简单的ADAL电话......
_authClient = HermesAuthenticationClient.CreateAuthenticationClient(clientId, _redirectUri, authority);
var result = await _authClient.AcquireTokensAsync(resource, new PlatformParameters(PromptBehavior.Always));
任何指针都会非常感激。
答案 0 :(得分:2)
存在涉及更改现有应用程序范围的已知问题。由于您已使用以前的作用域授权该应用程序,因此它不知道已请求的其他作用域。换句话说,您授权的旧作用域将被缓存,并且无法识别新作用域。
您需要在"My Apps"下手动撤消该应用程序的权限。
或者,您可以为应用生成新的ID,这也会触发“请求权限”工作流程。