对PowerBi嵌入式报表的Azure REST API进行非交互身份验证时禁止获取403
我对Azure ActiveDirectory和Power Bi Embedded都是新手 我有一个ASP.net WebForms应用程序,我想在其中显示一些PowerBi报告。当我以交互方式进行身份验证时,一切正常,我获得了令牌并能够访问我的报告。(遵循找到的优秀示例)这些示例是交互式登录,并使用AcquireTokenByAuthorizationCode()方法 但是,我不希望我的用户必须使用任何帐户创建/登录,只希望呈现报告供他们使用 所以我用我的clientID和clientSecret设置了一个ClientCredential(cc)。因此,我将其与AquireToken方法结合使用:对PowerBi嵌入式报表的Azure REST API进行非交互身份验证时禁止获取403,azure,authentication,powerbi,non-interactive,Azure,Authentication,Powerbi,Non Interactive,我对Azure ActiveDirectory和Power Bi Embedded都是新手 我有一个ASP.net WebForms应用程序,我想在其中显示一些PowerBi报告。当我以交互方式进行身份验证时,一切正常,我获得了令牌并能够访问我的报告。(遵循找到的优秀示例)这些示例是交互式登录,并使用AcquireTokenByAuthorizationCode()方法 但是,我不希望我的用户必须使用任何帐户创建/登录,只希望呈现报告供他们使用 所以我用我的clientID和clientSecr
token = AC.AcquireToken("https://analysis.windows.net/powerbi/api",cc).AccessToken;
但是,当我将令牌添加到请求头时,这会成功地为我获取令牌:
request.Headers.Add("Authorization", String.Format("Bearer {0}", accessToken.Value));
响应总是失败,在以下位置出现“403禁止”错误:
using (var response = request.GetResponse() as System.Net.HttpWebResponse)
{}
我看过其他的例子,很多都是使用异步方法来获取令牌,而我不是
有谁能建议我如何克服这403个错误,这样我就可以简单地向我的用户提供报告(出于安全考虑,我不想公开发布它们)
提前谢谢你 啊,我做错了!安全嵌入报表不一定需要Azure登录。下面的第三个链接包括在内,因为我的应用程序不是MVC而是WebForms,Mikami先生分享了一个很好的代码示例,我对它进行了调整,以帮助我实现我的目标 对于任何希望使用PowerBIEmbedded嵌入报表并以非交互方式进行身份验证的人,这3个链接帮助我实现了这一目标