sel*_*man 4 azure azure-active-directory powerbi
我们目前正致力于将 Power BI 报告嵌入到我们的 Web 应用程序中。为了实现这一点,我们遵循官方 power bi 文档中的说明:
我们在“应用拥有数据”的情况下,因此我们将使用服务主体。还有“使用主帐户访问”选项,但我找不到通过 REST API 生成令牌的方法,它只能通过提供的 .NET 示例工作,该示例与栈外不兼容。此外,在我检查过的所有示例中,令牌是从当前登录用户的安全上下文中检索的(因此不是通过 REST API)。所以“使用主账户访问”对我们来说不是一个选择。
我们一一按照上面链接中的步骤操作:
在我们将报告嵌入应用程序的第 6 步中,我们遇到了问题。这是我们所做的:
URL:https
:
//login.microsoftonline.com/ {$tenantId}/oauth2/v2.0/token请求正文: grant_type:client_credentials
范围:https : //graph.microsoft.com/.default
client_id:${clientId} (来自我们创建的服务器端 Web 应用程序)>
client_secret:${client_secret}(来自我们创建的服务器端 Web 应用程序)
Header: Content-Type: application/x-www-form-urlencoded
Response: { "token_type": " Bearer", "expires_in": 3600, "ext_expires_in": 3600, "access_token": "eyXXXXXXXXXXXXXXXXXX ....XXX" }
URL:
https : //api.powerbi.com/v1.0/myorg/groups/ ${groupId}/reports/${reportId}/GenerateToken(从我们拥有报告的 power bi dev 门户获取的 groupId 和 reportId)
请求美体:{ “ACCESSLEVEL”: “查看”, “allowSaveAs”: “假”}
头:内容类型:应用程序/ JSON
字符集:utf-8接受:应用/ JSON
授权:承载$ {access_token_from_step1}
响应:HTTP 403(这意味着禁止)
不幸的是,我们被困在了这一点上。我们无法生成嵌入令牌,我们将用它来将我们的报告/仪表板嵌入到我们的应用程序中。尽管我们已经浏览了大量在线文档/讨论,但我们找不到解决方案。所以这就是我们需要帮助的地方。
笔记:
- 我们正在使用 Power BI Desktop 和我们的 power bi pro 帐户创建/发布报告。(虽然我们正在尝试使用服务主体嵌入它们)
- 我们遇到了这个 stackoverflow答案,声称我们需要使用资源所有者流程而不是客户端凭据流程。但我认为,不使用任何用户/密码就可以应用服务主体的 Power bi 文档是不正确的。
您在为服务主体生成访问令牌时定义的范围不正确。
尝试使用https://analysis.windows.net/powerbi/api/.default
代替https://graph.microsoft.com/.default
注意:有很多限制使用服务主体时。
归档时间: |
|
查看次数: |
3755 次 |
最近记录: |