Я пытаюсь реализовать аутентификацию на основе токенов с помощью node.js.Генерация токенов работает.Когда пользователь входит в систему, токен сохраняется в файле cookie браузера.Моя проблема заключается в том, что я могу прочитать токен из cookie-файла с node.js на сервере, потому что он передается при каждом запросе, но, насколько я знаю, лучше передавать токен в заголовке как x-access-tokenи я не знаю, возможно ли это при простой загрузке страницы.
Например, когда я вхожу в систему, получаю и сохраняю токен, но после этого я должен быть перенаправлен в защищенное место (например, через окно.open ("/ protected", "_self")), и я не могу установить заголовок этого запроса.
Мой код JavaScript для входа в систему:
var httpRequest = new XMLHttpRequest();
var params = 'username=' + username.value + '&password=' + password.value;
httpRequest.open('POST', '/login', true);
httpRequest.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
httpRequest.responseType = "json";
httpRequest.onreadystatechange = function() {
if(httpRequest.readyState == 4 && httpRequest.status == 200) {
if(httpRequest.response.success){
setCookie("loginToken", httpRequest.response.token, 1);
window.open("/protected/", "_self");
}
showToast();
}
}
httpRequest.send(params);
Node.js читаеттокен из cookie с cookie-парсером при открытии / protected:
var token = req.cookies.loginToken;
Все работает, но с cookie не токен в заголовке.Должен ли я использовать метод cookie, и если нет, есть ли способ передать токен в заголовке?