【发布时间】:2018-07-05 06:16:43
【问题描述】:
在 Power Bi 中,我们在尝试建立网络连接时收到此错误:
“我们无法使用提供的凭据进行身份验证。请重试”
Azure 函数应用在我们的 AAD 中注册。该函数是一个带有以下代码的 C# httptrigger:
using System.Net;
using System.Net.Http;
using System.Security.Claims;
using System.Threading.Tasks;
public static async Task<HttpResponseMessage> Run(HttpRequestMessage req, TraceWriter log)
{
// parse query parameter
ClaimsIdentity userClaimsId = ClaimsPrincipal.Current.Identity as ClaimsIdentity;
var claims = userClaimsId.FindAll(ClaimTypes.Upn);
var groups = userClaimsId.Claims.Where(x => x.Type.Equals("groups")).ToList();
var upns = userClaimsId.Claims.ToList();
var roles = userClaimsId.Claims.Where(x => x.Type.Equals("upn")).ToList();
return req.CreateResponse(HttpStatusCode.OK, groups);
}
我们正在尝试使用同一 AAD 中的组织帐户通过“获取数据”>“Web”选项从 Power Bi Desktop 进行连接。当我们从浏览器调用该函数时,它会提示登录并似乎返回数据。
【问题讨论】:
-
你能把它变成一个问题,并更具体地说明失败的来源吗? 1. 该错误是来自 PowerBI 还是来自您的 Azure Function? 2.我假设你的天蓝色函数是一个http触发器?您可以通过 Fiddler/Postman 显式调用它(在 PowerBI 之外)吗? 3. 你到底是如何调用函数的?网钩? M 连接器?
-
已添加问题详细信息。 C# 触发器。经过浏览器和 Postman 测试和工作。
-
当您说它在浏览器和 Postman 中工作时 - 浏览器和 Postman 是否使用组织帐户凭据请求数据?
-
是的。第一次调用时,它会提示进行身份验证,然后返回数据
标签: authentication azure-active-directory powerbi azure-functions powerapps