Я пытаюсь создать запрос, разрешающий авторизованному пользователю / сеансу получать (и отображать) и страницу HTML с веб-сайта, размещенного на S3 - где эта страница не публикуется c.
Чтобы достичь этого, я аутентифицируюсь с Cognito, а затем с sessionID, который принимает и роль полного доступа S3, запрашивающей личную страницу с помощью XMLHTTPRequest, например:
let req = new XMLHttpRequest();
// 2. Configure it: GET-request for the URL /article/.../load
req.open('GET', 'user_home.html', true);
// window.location.href="/user_home.";
req.withCredentials = true;
req.setRequestHeader('authorization', 'Bearer ' + AWS.config.credentials.sessionToken); //id_token
req.setRequestHeader('Access-Control-Allow-Headers', 'authorization');
req.onreadystatechange = function () {
if (req.readyState === 4) {
if (req.status === 200){
logMessage('Authorized');
writeFrame(req.responseText);
} else if (req.status === 401){
logOut();
logMessage('unauthorized');
} else if (req.status === 403){
//signOut(getForbiddenText(profile));
logOut();
logMessage('unauthorized');
} else {
writeFrame(req.responseText);
}
}
Но это всегда неавторизовано. Индекс. html, очевидно, опубликован c и работает нормально.
Может кто-нибудь подсказать, где я здесь не так? В принципе, я думаю, что это должно работать
Спасибо
Марк