通过代码自动登录 Power BI,以便报表在 'Secure Embed Code' 中可见

Auto Sign-In to Power BI through code so as the report is visible in 'Secure Embed Code'

问题:

在多个 ios 设备上,单击 iframe 中的 'Sign-In' 按钮后(将 src 作为 Power BI 报告 'Secure Embed Code'),将打开一个新的 window 进行签名进入 Power BI 并成功登录后,window 关闭。 但是,iframe 不会重新加载。需要手动干预以重新加载页面才能查看报告。这存在于多个 ios 设备上(与浏览器 chrome 或 safari 无关)。

实施:

我们有一个使用 Azure AD 身份验证的 Web 应用程序,在此 Web 应用程序中,我们借助 'Secure Embed Code' 将 Power BI 报告嵌入到 iframe 中。

当前工作流程:

1) 用户登录 Web 应用程序 ->

2) Iframe(具有安全嵌入代码)显示为带有 登录 按钮 ->

3) 用户点击 iframe 中的 'Sign-In' 按钮 ->

4) 新的 window 打开几秒钟以登录 Power BI 服务 ->

5) 这个新的 window 在成功登录到 Power BI 服务后自动关闭 ->

6) iframe 重新加载并显示报告

此流程适用于 Windows 和 Android 设备。但是,对于几个 ios 设备,步骤#6(Iframe 重新加载)不起作用。

我知道 'Secure Embed code' 的局限性,因为

Some browsers require you to refresh the page after sign-in, especially when using InPrivate or InCognito modes.

有关详细信息,请参阅 link 的限制部分。

所需功能:

登录应用程序后,在呈现任何 iframe 之前,应提供 link 以生成新的 window 并提示用户登录 Power BI 服务。在新的 window 中成功登录后,应向前一个 window 传递一条消息,告知 'signIn is successful' 并关闭新的 window。一旦我们的应用程序收到此消息 'signIn is successful',则应呈现 iframe。这将帮助我们解决 ios 台设备中存在的问题。

注意:我们不想使用 'App Owns Data/User Owns Data' 方法,因为这些方法需要购买专门的生产能力。

请建议这是否可行,并提供一些关于我们如何实现这一目标的参考。 或者建议是否有任何其他解决方法来解决该问题。

任何帮助将不胜感激。

谢谢

Note: We do not want to use 'App Owns Data/User Owns Data' approach as these approaches require to purchase dedicated capacity for production.

不,这不是真的。如果您使用嵌入令牌(例如使用 GenerateTokenInGroup). You can embed reports with AAD tokens and keep using shared capacities (see tokenType 属性 生成),您将需要专用容量。

您试图克服的不便来自安全嵌入的实施方式。这就是此功能的工作原理。微软没有这样做是因为他们想让用户不方便。他们之所以这样做,是因为不可能或不够容易地更好地实施它。在浏览器更改或 Microsoft 更新此功能之前,您必须暂时采用任何一种方式,或者使用适当的嵌入(在您的情况下用户拥有数据方案)。