我一直在使用 MSALMicrosoft.Identity.Client.ConfidentialClientApplication
来执行仅限应用的 Microsoft Graph - Groups 操作。
var RedirectUri = "urn:ietf:wg:oauth:2.0:oob";
var clientApplication = new ConfidentialClientApplication(ClientId, RedirectUri, new ClientCredential(ClientSecret), null);
我被困在下一步:
authenticationResult = clientApplication.AcquireTokenSilentAsync(new string[]{"Group.ReadWrite.All"}).GetAwaiter().GetResult();
我得到错误failed_to_acquire_token_silently
。
authenticationResult = clientApplication.AcquireTokenForClient(new string[]{"Group.ReadWrite.All"}, string.Empty).GetAwaiter().GetResult();
我得到错误invalid_scope
。
不确定我应该继续哪个方向。
笔记:
- 使用
PublicClientApplication
相同的代码可以正常工作 - 该应用同时具有 AppOnly
Group.ReadWrite.All
和 DelegateGroup.ReadWrite.All
权限 - 有
PublicClienApplication
一个不需要的 UI 对话框...
var clientApplication = new PublicClientApplication(ClientId);
authenticationResult = clientApplication.AcquireTokenAsync(Scopes).GetAwaiter().GetResult();