azure - 以非交互方式向 Azure REST API 进行 PowerBi 嵌入报告的身份验证时出现 403 Forbidden

标签 azure authentication powerbi non-interactive

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

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

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

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

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

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

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

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

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

我看过其他示例,许多示例都使用异步方法来获取 token ,但我没有。

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

提前谢谢您!

最佳答案

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

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

关于azure - 以非交互方式向 Azure REST API 进行 PowerBi 嵌入报告的身份验证时出现 403 Forbidden,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41862970/

相关文章:

powerbi - Power BI - 计算两个日期之间的事件项目

azure - 是否可以在资源:repository for Azure DevOps YAML?的ref属性中使用变量

android - 启动时设置初始 fragment

authentication - 当对 WildFly 中部署的 war 使用基本身份验证时,getUserPrincipal 返回 null

尽管有 AllowAny 权限,django-rest-framework 在 POST、PUT、DELETE 上返回 403 响应

Azure AD 授权端点请求管理员同意

date - Power BI-自定义列,检查值是日期还是文本

azure - Azure 搜索服务上的 CORS 问题

azure - 在逻辑应用中将电子邮件处理为另一封电子邮件的附件

windows - 什么是 "Cloud OS"?