Я пытаюсь встроить панель управления AWS Quicksight в наше приложение, но у меня возникли некоторые проблемы с процессом встраивания. URL был сгенерирован правильно, но я получаю ошибку отказа в разрешении при попытке его вставить.
Я могу загрузить сгенерированный URL непосредственно в новую вкладку, но при попытке вставить его я получаю401 ошибка.
Я внес домен в белый список в консоли Quicksight и захожу на страницу через HTTPS. Полная тестовая страница показана ниже.
Следующий код - это то, что я использую для тестирования встраивания. Он был взят из примера Amazon.
<!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>
Amazon отправляет 302, а затем 401. В результате получается кадр с сообщением об ошибке «Мы не можем отобразить эту страницу (не авторизовано).
Первый запрос в изображении получает свежую ссылку с сервера, а последующие два являются попыткой кадрирования.
Я ожидаю, что если что-то будет не такс моей авторизацией загрузка ссылки в ее собственной вкладке не будет работать. Я думаю, что проблема должна быть связана с фреймом, но я не знаю, какие другие опции можно проверить, кроме белого.
Есть ли у кого-нибудь идеи? что еще я могу попробовать?