Hel*_*ent 5 authentication azure-active-directory powerbi azure-functions powerapps
在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);
}
Run Code Online (Sandbox Code Playgroud)
我们正尝试使用同一AAD中的组织帐户通过Get Data> Web选项从Power Bi Desktop连接.当我们从浏览器调用该函数时,它会提示登录并且似乎返回数据.
小智 5
当您使用组织帐户登录时,Power BI Desktop从AAD获取的令牌适用于https://yourfunction.azurewebsites.net受众.但是,当您为Azure功能应用程序配置AAD身份验证时,默认情况下配置的受众是https://yourfunction.azurewebsites.net/.auth/login/aad/callback.这就是您拒绝接入访问权限的原因.
因此,您可以转到Azure功能应用程序的AAD身份验证设置,单击AAD>高级>并在其中输入新的允许令牌受众(请参见下文,标记为红色).确保单击"确定",然后保存更改.
| 归档时间: |
|
| 查看次数: |
1163 次 |
| 最近记录: |