我是 Azure Function 应用程序的新手。只是为了简要介绍我的要求和我面临的问题。我想与
Microsoft.IdentityModel.Clients.ActiveDirectory 通过我的用户凭据(天蓝色帐户)并生成一个令牌,通过它我可以刷新 Power BI 数据集。
现在作为我的 Windows Azure 函数的一部分,请注意:我正在尝试在 azure 门户函数(HttpTriggers)iteslf 即沙箱中编写这段代码。由于 Windows 功能应用程序支持使用 project.json 安装 nuget 包的 .Net frmaework 4.6,因此我安装了 Microsoft.IdentityModel.Clients.ActiveDirectory
dll 版本 3.14.x(最新)通过 project.json。
然后我尝试使用下面的代码行获取令牌
AuthenticationContext authContext = new AuthenticationContext(authorityUri);
string token = authContext.AcquireTokenAsync(resourceUri, clientID, new UserPasswordCredential(username, password)).Result.AccessToken;
(请注意authorityUri = "https://login.windows.net/common/oauth2/authorize"; clientID="myclientid";resourceUri = "https://analysis.windows.net/powerbi/api"
:)
(请注意:Microsoft.IdentityModel.Clients.ActiveDirectory dll v 3.x 及以上版本不支持 AcquireToken 功能,因此使用 AcquireTokenAsync)
现在我在这一行中遇到错误,出现异常“AADSTS50131:AccessPolicy 不允许颁发令牌。”。
当我通过我的 WEB API 函数调用它时,我能够生成令牌。
对此的任何帮助都将非常重要。
提前致谢。