Cross-origin-requests

При отправке POST запроса на авторизационный API https://directual.com/good/v4/auth к нему нет доступа, заголовки и прочая ерунда на стороне клиента не помогают, CORS blocked и т.д.
Всё работает только с браузером у которого выключена эта защита. Как быть?

Да все верно, на тонком клиенте нельзя напрямую отсылать POST запросы на удаленный сервер, если удаленный сервер не отдает определенные заголовки (CORS).
Единственный вариант решения: на сервере который обслуживает выдачу статики (nginx, nodejs) сделать проксирование до нас, например в случае nodejs:

app.post(’/auth’, bodyParser.json(), (req, res, next) => {
const { username, password } = req.body;
const body = { username, password };
const location = “https://directual.com/good/v4/auth”;
const query = ?appID=?&appSecret=?;
const uri = ${location}${query};
const json = true;

return rq({ method: ‘POST’, uri, json, body })
.then(response => res.json(response))
.catch((err) => {
console.log(‘error’, err);
console.log(‘auth cb err’);
return next();
});
});

А с клиента посылать все теже запросы на аутентификацию не на directual.com, а на yoursite/auth
Также для удобства разработки подобную прокси желательно встроить в dev конфигурации webpack’a.