3

我是 Azure ActiveDirectory 和 Power Bi Embedded 的新手。

我有一个 ASP.net WebForms 应用程序,我想在其中显示一些 PowerBi 报告。当我以交互方式进行身份验证时,一切正常,我得到了我的令牌并能够访问我的报告。(遵循GitHub 上的优秀示例)这些示例是交互式登录并使用 AcquireTokenByAuthorizationCode() 方法。

但是,我不希望我的用户必须使用任何帐户创建/登录,只想呈现报告以供他们使用。

所以我用我的clientID和clientSecret设置了一个ClientCredential(cc)。因此,我将其与 AquireToken 方法一起使用:

 token = AC.AcquireToken("https://analysis.windows.net/powerbi/api",cc).AccessToken;

但是,当我将其添加到请求标头时,这成功地为我获取了一个令牌:

 request.Headers.Add("Authorization", String.Format("Bearer {0}", accessToken.Value));

响应总是失败并出现“403 Forbidden”错误:

 using (var response = request.GetResponse() as System.Net.HttpWebResponse)
    {}

我查看了其他示例,许多都使用异步方法来获取令牌,但我不是。

谁能建议我如何克服这些 403 错误,以便我可以简单地向我的用户提供报告(出于安全考虑,我不想公开发布它们)。

预先感谢您!

4

1 回答 1

2

呵呵,我做错了!安全地嵌入报告不一定需要 Azure 登录。包含下面的第三个链接是因为我的应用程序不是 MVC 而是 WebForms,并且 Mikami 先生分享了一个很好的代码示例,我对其进行了调整以帮助我实现目标。

对于希望使用 Power Bi Embedded 嵌入报告并以非交互方式进行身份验证的其他人,这 3 个链接帮助我实现了目标。

于 2017-02-03T16:36:56.053 回答