遵循此处列出的代码:
https://github.com/Azure-Samples/active-directory-dotnet-graphapi-console/blob/master/GraphConsoleAppV3/Program.cs#L810
但是在使用服务主体进行身份验证时,尝试在
上创建应用程序时会出现Insufficient Privileges错误client.Applications.AddApplicationAsync(appObject).Wait();
使用令牌交换,如下所示:
var context = new AuthenticationContext($"https://login.microsoftonline.com/{tenantId}");
var token = context.AcquireToken("https://graph.windows.net", new ClientCredential(clientId, secret));
var client = new ActiveDirectoryClient(new Uri($"https://graph.windows.net/{tenantId}"),()=>Task.FromResult(token.AccessToken));
答案 0 :(得分:4)
要求应用程序获得管理员角色,该角色目前似乎只能使用PowerSure工具添加到azure AD:https://msdn.microsoft.com/library/azure/jj151815.aspx#bkmk_installmodule
并使用connect-msolservice
并在出现提示时使用Azure Ad Administrator用户登录。
connect-msolservice
Get-MsolServicePrincipal –AppPrincipalId {appId}
Add-MsolRoleMember -RoleMemberType ServicePrincipal -RoleName 'Company Administrator' -RoleMemberObjectId {objectID}
其中objectID是2命令的输出