我想对PowerBI Rest API使用AAD,因此需要获得用于身份验证的令牌。即使授予App的权限也不需要管理员同意,我总是收到一个弹出窗口,说:
需要权限才能访问您的资源只有管理员可以授予的组织。请询问管理员请先授予此应用的权限,然后才能使用它。
我用于身份验证的代码:
var userAuthnResult =
authenticationContext.AcquireTokenAsync(ProgramConstants.PowerBiServiceResourceUri,
ProgramConstants.ClientID,
new Uri(ProgramConstants.RedirectUri),
new PlatformParameters(PromptBehavior.Auto)).Result;
P.S我已经尝试过验证。使用由于我的组织上的多因素身份验证而不适用于我的信用凭证。
var userAuthnResult = authenticationContext.AcquireTokenAsync(ProgramConstants.PowerBiServiceResourceUri,
ProgramConstants.ClientID,
userCreds).Result;
如果您的组织对应用程序拥有disabled or restricted users' authorization to consent,即使您的应用程序请求的权限不需要管理员干预,您也无法自己授予同意。
您可以在组织中通过Azure门户> Azure AD>企业应用>用户设置来检查是否已启用或禁用用户同意。 (即使您不是管理员,也应该可以查看是否将其打开或关闭。)