У нас есть сервер, который реализован с помощью python flask, и он RESTful.Поскольку это RESTful, мы должны разрабатывать интерфейсные страницы с использованием API.Проблема в том, что наш сервер использует встроенные в колбу модули Login_manager и session для управления клиентскими сессиями.Когда я пытаюсь отправить запросы в API, требующие входа в систему, сервер не разрешает мне.Исходя из результатов моих поисков, я должен как-то отправить файл cookie сеанса внешнего интерфейса на сервер вместе с моими запросами.Так как мне это сделать (если это решение)?И что я должен добавить к своим логинам JavaScript и кодам извлечения API?
JS login:
var request = new XMLHttpRequest();
var url = 'http://127.0.0.1:5000/api/login';
var user = {
'email': email,
'password': password
};
request.open('POST', url, true);
request.setRequestHeader("Content-Type", "application/json");
request.onload = function() {
if (this.readyState === XMLHttpRequest.DONE && this.status === 200) {
var resp = JSON.parse(this.response);
if (resp.status === "OK") {
sessionStorage.setItem('user', JSON.stringify(resp.user));
document.cookie = "user_id="+resp.user.id;
window.location.replace('app.html');
} else {
alert("User info not correct");
}
} else {
alert("Request not made");
}
}
request.send(JSON.stringify(user));
И затем, скрипт не работает, потому что API / showApps является @ login-required:
var request = new XMLHttpRequest();
var url = 'http://127.0.0.1:5000/api/showApps';
request.open('GET', url, true);
request.onload = function(e) {
//manage data
}
request.send();