使用 NodeJS 的 PowerBI 嵌入令牌无法解析令牌授权 URL

问题描述 投票:0回答:1

我想要实现的目标是将现有的 PowerBI 报告嵌入到我的 Angular 应用程序中。为了获取 PowerBI 嵌入令牌,我使用此 URL 中共享的 NODEJS 代码 [https://github.com/microsoft/PowerBI-Developer-Samples/tree/master/NodeJS]。

当我通过本地计算机作为 API 运行并通过 Angular 调用时,它会抛出以下错误: 错误:'ClientAuthError:端点_分辨率_错误:错误:无法解析端点。请检查网络并重试。详细信息:ClientAuthError:openid_config_error:无法检索端点。检查您的权限并验证 .well-known/openid-configuration 端点返回所需的端点。尝试从以下位置检索终结点:https://login.microsoftonline.com/##TENANTID##/v2.0/.well-known/openid-configuration'。 当我通过 AWS EC2 使用我们的内部公司代理运行时,情况是一样的。

但是,如果我使用弹性 IP(没有企业代理)运行 EC2,则一切正常。我有限制,必须使用企业代理运行。

我真正关心的是,我们在 PYTHON 中有相同的代码(相同的 GITHUB 链接),可以在所有环境中使用公司代理,并且无需麻烦即可获取令牌。

我正在寻求有关 NODEJS 的帮助,并指出它与 Python 代码的行为有何不同。由于我无法使用直接弹性 IP,因此我如何能够使用内部公司代理运行此代码。

注意:我按原样使用 GITHUB 中的代码,并根据需要仅添加了配置详细信息。

node.js access-token powerbi-embedded
1个回答
0
投票

对于服务主体身份验证,我们需要使用客户端 Secret 进行身份验证。 MSAL Angular 目前不支持机密客户端应用程序。

因此,我们需要使用能够保密并获取嵌入令牌的后端,我尝试的一种解决方法是使用在我的 GitHub 存储库中实现的 Azure Function App。 获得函数 URL 后,您可以通过从 URL 获取详细信息来嵌入任何语言的报告。

在我的存储库中,使用

powerbi-client-react
嵌入报告。 您可以实施相同的操作并使用
powerbi-client-angular
嵌入报告。

© www.soinside.com 2019 - 2024. All rights reserved.