Изоморфная выборка (REDUX / nodeJs) - POST-запрос с именем пользователя / паролем

Я использую приведенный ниже код для получения данных от API, и он работает нормально. У меня есть другой API, который защищен и требует имени пользователя / пароля для доступа к контенту, и я не уверен, как передать учетные данные при использовании изоморфного модуля извлечения. Может кто-нибудь помочь?

Я использую этот модуль: https://www.npmjs.com/package/isomorphic-fetch

Мне нужно ввести имя пользователя и пароль, как показано ниже (Пример команды curl)

curl -u admin:hello123 http://test:8765/select?q=*

Код:

fetch(
    url
).then(function (response) {
    if (response.status != 200) {
        dispatch(setError(response.status + '===>' + response.statusText + '===>' + response.url))
    }
    return response.json();
}).then(function (json) {
    dispatch(setData(json, q))
}).catch(function(err){
});

1 ответ

Решение

Большинство API использовали бы запрос POST для аутентификации. Они ожидают также получить данные для проверки (пользователь / пароль). Кроме того, они обычно требуют дополнительной информации в заголовке, например, чтобы указать формат (например, application/json) данных (данные пользователя / пароль), которые вы отправляете. Вы не передаете ничего из этого. Отметьте ниже что-то, что может работать, но все зависит от ожидаемого API (смотрите документацию).

fetch(url, {
    method: 'POST',
    headers: {
        // Check what headers the API needs. A couple of usuals right below
        'Accept': 'application/json',
        'Content-Type': 'application/json'
    },
    body: JSON.stringify({
        // Validation data coming from a form usually
        email: email,
        password: password
    } 
}).then(function (response) {
    if (response.status != 200) {
        dispatch(setError(response.status + '===>' + response.statusText + '===>' + response.url))
    }
    return response.json();
}).then(function (json) {
    dispatch(setData(json, q))
}).catch(function(err){
    console.log(err);
}; 
Другие вопросы по тегам