#basic-authentication #darwin #superagent
#базовая аутентификация #дарвин #суперагент
Вопрос:
С помощью POSTMAN все в порядке :
Я передаю суперагенту те же заголовки, параметры, …, как показано ниже :
const superagent = require('superagent');
const grab = require('ps-grab');
superagent.get('https://x.rathath.net/issue_statuses.json')
.set({
'Accept': 'application/json',
'Content-Type': 'application/json'
})
.auth(grab('--user'),grab('--password'))
.send({})
.end((error,response)=>{
console.log(response.text);
});
Однако это не удалось!
У меня есть сомнения в: суперагент Заголовок авторизации OSX .. Я имею в виду совместимость этих трех факторов .
Действительно, я запускаю тот же фрагмент javascript на компьютере Redhat, и он работает нормально.
Ответ №1:
Разница в том, что вы, вероятно, совершаете вызов в другой домен, а не в тот, где запущено ваше js-приложение. Это называется CORS. Когда вы делаете это в сочетании с аутентификацией, сервер должен возвращать заголовки CORS, говоря:
access-control-allow-credentials: true
access-control-allow-origin: your-app-domain.here
Две ловушки:
- Забывание .withCredentials() в вашем вызове суперагента. Это касается не только файлов cookie, но и аутентификации.
- Сервер возвращает * вместо вашего домена, но это недопустимо в сочетании с аутентификацией.