在Power Bi中,当尝试建立Web连接时会出现以下错误:

“我们无法使用提供的凭据进行身份验证。请重试”

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桌面进行连接。当我们从浏览器调用该函数时,它会提示登录并似乎返回数据。

authentication - 可以使用Power Bi和Power Apps的AAD身份验证Azure功能吗?-LMLPHP

最佳答案

使用组织帐户登录时,Power BI Desktop从AAD获取的 token 是https://yourfunction.azurewebsites.net受众的。但是,当您为Azure Function应用配置AAD身份验证时,默认情况下,配置的受众是https://yourfunction.azurewebsites.net/.auth/login/aad/callback。这就是为什么您收到拒绝访问的原因。

因此,您可以转到Azure Function App的AAD身份验证设置,单击“AAD”>“高级”,然后在此处输入允许的新 token 访问者(请参见下面的红色标记)。确保单击“确定”,然后保存更改。

authentication - 可以使用Power Bi和Power Apps的AAD身份验证Azure功能吗?-LMLPHP

关于authentication - 可以使用Power Bi和Power Apps的AAD身份验证Azure功能吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48452352/

10-11 08:04