5

我正在尝试将 AWS Quicksight 仪表板嵌入到我们的应用程序中,但我在嵌入过程中遇到了一些问题。该 URL 已正确生成,但当我尝试嵌入它时出现权限被拒绝错误。

我可以直接在新选项卡中加载生成的 URL,但是当我尝试嵌入它时,我收到 401 错误。

我已在 Quicksight 控制台中将该域列入白名单,并且正在通过 HTTPS 访问该页面。完整的测试页面如下所示。

以下代码是我用来测试嵌入的代码。它取自亚马逊的一个例子。

<!DOCTYPE html>
    <html>
    <head>
        <title>My Dashboard</title>
        <script src="https://unpkg.com/amazon-quicksight-embedding-sdk/dist/quicksight-embedding-js-sdk.min.js" ></script>
        <script type="text/javascript">
            function embedDashboard() {
                var containerDiv = document.getElementById("dashboardContainer");
                var params = {
                    url: "<link that works in a standalone browser tab>",
                    container: containerDiv,
                    parameters: {
                    },
                    height: "700px",
                    width: "1000px"
                };
                var dashboard = QuickSightEmbedding.embedDashboard(params);
                dashboard.on('error', function(err) {console.log('dashboard error:', err)});
                dashboard.on('load', function() {});
            }
        </script>
    </head>
    <body onload="embedDashboard()">
        <div id="dashboardContainer"></div>
    </body>
    </html>

亚马逊发送一个 302,然后是一个 401。这会导致一个框架显示错误消息“我们无法显示此页面(未授权)。

图像中的第一个请求从服务器获取一个新链接,随后的两个请求是框架尝试。

要求

我希望如果我的授权有问题,那么在它自己的选项卡中加载链接将不起作用。我认为问题一定出在框架上,但不知道除了白名单之外还有哪些其他选项可以检查。

有谁知道我还能尝试什么?

4

0 回答 0