2

我是 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 函数调用它时,我能够生成令牌。

对此的任何帮助都将非常重要。

提前致谢。

4

0 回答 0