【问题标题】:Possible to consume AAD authenticated Azure functions from Power Bi and Power Apps?可以从 Power Bi 和 Power Apps 使用 AAD 身份验证的 Azure 函数吗?
【发布时间】: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


【解决方案1】:

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

因此,您可以转到 Azure Function App 的 AAD 身份验证设置,单击 AAD > 高级 > 并在此处输入新的允许令牌受众(见下文,标记为红色)。确保单击“确定”并保存更改。

【讨论】:

  • 您是否曾经通过 Power Apps 连接到像这样的 AAD 安全 Azure 功能?
  • 我很高兴它成功了。关于 Power Apps,我从未这样做过,但我会从 docs.microsoft.com/en-us/azure/azure-functions/… 或从这里开始 docs.microsoft.com/en-us/connectors/custom-connectors
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-08
相关资源
最近更新 更多