具有Microsoft Graph资源的Native App ADAL 3保持相同的范围

时间:2016-06-22 19:35:36

标签: wpf adal microsoft-graph

我有一个使用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));

任何指针都会非常感激。

1 个答案:

答案 0 :(得分:2)

存在涉及更改现有应用程序范围的已知问题。由于您已使用以前的作用域授权该应用程序,因此它不知道已请求的其他作用域。换句话说,您授权的旧作用域将被缓存,并且无法识别新作用域。

您需要在"My Apps"下手动撤消该应用程序的权限。

或者,您可以为应用生成新的ID,这也会触发“请求权限”工作流程。