Доступ к vuforia vws с запрещенным заголовком React

Я пытаюсь вызвать веб-сервис vuforia с помощью response + axios, читая документы вуфории и следуя этим шагам, когда я звоню, я получаю сообщение об ошибке в журнале консоли Chrome:

xhr.js:121 Refused to set unsafe header "Date"

Но если я правильно понимаю, я должен указать в запросе заголовок «Дата». Как я могу это решить, вот мой код:

class App extends Component {
  componentDidMount() {
    var md5 = require('md5');
    var base64 = require('base-64');
    var hmacsha1 = require('hmacsha1');
    var contentType = "application/json";
    var hexDigest = "d41d8cd98f00b204e9800998ecf8427e";
    var accessKey = "xxxxxxxxxxxx";
    var secretKey = "xxxxxxxxxxx";
    var date = new Date().toUTCString();
    var url = `${'https://cors-anywhere.herokuapp.com/'}https://vws.vuforia.com/targets`;
    var dateValue = date;
    var requestPath = url;
    var newLine = '\n';
    var toDigest = `GET${newLine}${hexDigest}${newLine}${contentType}${newLine}${dateValue}${newLine}${requestPath}`;
        var shaHashed = hmacsha1(secretKey, toDigest);

    var signature = base64.encode(shaHashed);
    const config = {
        headers: {
        'Date': `${date}`,
        'Authorization': `VWS ${accessKey}:${signature}`
    }
}
console.info(toDigest);
axios.get(url, config,{ crossdomain: true })
.then(json => console.info(json))
}

console.info (toDigest):

GET
d41d8cd98f00b204e9800998ecf8427e
application/json
Mon, 29 Oct 2018 12:45:26 GMT
https://cors-anywhere.herokuapp.com/https://vws.vuforia.com/targets
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
6
0
112
1

Ответы 1

Измените код конфигурации с

const config = {
    headers: {
    'Date': `${date}`,
    'Authorization': `VWS ${accessKey}:${signature}`
}

к

const config = {
    headers: {
    'Authorization': `VWS ${accessKey}:${signature}`
}

XMLHttpRequest не может устанавливать заголовок Date, он устанавливается автоматически браузером. Причина в том, что, манипулируя этими заголовками, вы можете обманом заставить сервер принять второй запрос через то же соединение, которое не будет проходить обычные проверки безопасности - это будет уязвимостью безопасности в браузере. Вот список заголовков HTTP, который вы не можете установить самостоятельно.

Сообщите мне, если вы все еще получаете сообщение об ошибке.

Ошибка небезопасного заголовка исчезла, но сейчас я получаю плохой запрос, хотя ваш ответ правильный, vuforia специально хочет, чтобы дата в заголовке была в определенном формате, я не знаю, из-за этого ли я получение плохого запроса

AND4011002849 27.11.2018 13:07

пробовали ли вы тот же вызов xhr от почтальона, а затем проверьте, какой ответ вы там получаете.

Goldy 27.11.2018 15:39

Другие вопросы по теме