PowerBI 中有一份报告。
有两种嵌入方式。
A) 私人(网站或门户):
在此选项中,最终用户必须输入 PowerBI 帐户凭据才能查看报告。
B) 公开(发布到网络/公开)
在此选项中,最终用户无需提供凭据即可查看 PowerBI 报告。
查询: 我想将该报告嵌入到我的网站中。如果我们选择
Option B
,那么任何知道链接的人都可以看到报告,而且它也不安全。但如果我们选择Option A
,那么每个用户都将是我网站中PowerBI的登录页面,并且他们必须拥有PowerBI帐户才能查看报告。
所以我想选择
Option A
,但最终用户一定不能从PowerBI看到登录页面。它们将自动通过通用 PowerBI 帐户以编程方式进行身份验证。
我该怎么做?我的网站在 ReactJS 中。
您可以代表用户进行身份验证并嵌入报告。
请参阅我的 GitHub Repo,其中我使用
powerbi-client-react
库将报告嵌入到 React 应用程序中,并从 Azure Function App 获取嵌入参数。
我们有 React 开发人员示例 来嵌入报告,但用户需要使用主用户凭据登录才能查看嵌入的报告。
根据您的要求,如果您不希望用户登录,我们需要遵循服务主体身份验证,您将使用
ClientSecret
代表用户进行身份验证。 MSAL React 仅支持公共客户端。因此,我们需要使用能够保密的后端并获取 Embedtoken,我尝试的一种解决方法是使用我的 github 存储库中实现的 Azure Function App。