Я создал экспресс-сервер Node.js, который подключается к Salesforce.com с использованием интерфейса SOAP, предоставляемого jsforce. Он использует сессионные куки для авторизации через пакет 'express-session'. Пока у него есть метод POST для входа в систему и GET для выполнения простого запроса. Тестирование с почтальоном показало, что этот сервер работает как положено.
Как интерфейс браузера к этому серверу, я написал приложение Vue, которое использует axios для выполнения GET и POST. Мне нужно сохранить файл cookie сеанса, созданный во время входа в систему POST, а затем прикрепить файл cookie к последующим операциям CRUD.
Я пробовал разные способы обработки файлов cookie. Один метод, который я попробовал, использует перехватчики ответа axios на POST
axios.interceptors.response.use(response => {
update.update_from_cookies();
return response;
});
Функция update_from_cookies пытается получить cookie с именем js-force, но не находит его, хотя я знаю, что он отправляется
import Cookie from 'js-cookie';
import store from './store';
export function update_from_cookies() {
let logged_in = Cookie.get('js-force');
console.log('cookie ' + logged_in);
if (logged_in && JSON.parse(logged_in)) {
store.commit('logged_in', true);
} else {
store.commit('logged_in', false);
}
}
Я также видел различные рекомендации по добавлению параметров в вызовы axios, но они также не работают.
Буду признателен за советы о том, как обращаться с файлами cookie с помощью axios или аналогичного пакета, который работает с Vue
.
Спасибо