Предполетная подготовка Trustpilot API запрещена

Я использую библиотеку axios в vue для аутентификации (POST с заголовками) на Trustpilot, но браузер отправляет предварительный вызов, а API Trustpilot отвечает мне ошибкой, потому что метод OPTION не разрешен.

Я полагаю, что запрос аутентификации - это простой запрос (https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS), но axios делает это как непростой запрос, а браузер вызывает предварительный запрос. Есть способ исправить эту проблему?

Спасибо


person Vittorio Iovinella    schedule 26.06.2017    source источник
comment
что вы пытаетесь отправить? добавьте к вопросу, заметили ли вы: в случае базовой аутентификации, как показано на рисунке, обмен должен происходить через соединение HTTPS (TLS), чтобы быть безопасным?   -  person user7294900    schedule 26.06.2017
comment
Мой код следующий: this.axios.request ({url: 'api.trustpilot.com/v1/oauth/ ', метод:' POST ', данные: {' grant_type ':' пароль ',' имя пользователя ':' [email protected] ',' пароль ':' xxxxxx '}, заголовки: {' Authorization ':' Basic XXXXXXXXXXX ',' Content-Type ':' application / x-www-form-urlencoded '}})   -  person Vittorio Iovinella    schedule 26.06.2017
comment
Ответ следующий (для метода OPTION): XMLHttpRequest не может загрузить api.trustpilot.com/v1/oauth/. Ответ на предполетный запрос не проходит проверку контроля доступа: на запрошенном ресурсе отсутствует заголовок Access-Control-Allow-Origin.   -  person Vittorio Iovinella    schedule 26.06.2017


Ответы (1)


Вы не можете выполнить вызов браузера к конечной точке trustpilot oauth. Потому что авторизация состоит из вашего apikey и секрета. Раскрытие этого клиенту браузера было бы уязвимым.

Ваш сервер сможет вызывать API.

Если у вас нет сервера, перенаправьте пользователя на https://authenticate.trustpilot.com с вашим client_id и URL-адрес перенаправления, по которому пользователь может войти в систему.

Вы можете увидеть более подробную информацию здесь: https://developers.trustpilot.com/authentication#implicit

person Bardur Pihl    schedule 27.06.2017
comment
Хорошо, я полагаю, мне нужно обернуть аутентификацию в вызове cUrl и вернуть ответ из зарезервированной ссылки в моем приложении. Например, я делаю легкий api-сервер для процесса аутентификации. хорошо спасибо - person Vittorio Iovinella; 27.06.2017
comment
Да, точно. Таким образом, вы сохраните секрет на своем сервере. - person Bardur Pihl; 27.06.2017