У меня есть простое приложение Backbone.js, которое использует json-server в качестве бэкэнд. У меня есть функция входа в систему, которая находит пользователя из коллекции, но я не понимаю, как сохранить сеанс. Я думал о сохранении параметра в файлах cookie, которые позже будут проверяться при каждом перенаправлении. Вот моя модель:Сохранение параметров сеанса в файлах cookie
var User = Backbone.Model.extend({
defaults: {
login: '',
password: '',
authToken: ''
}
});
И вот моя коллекция:
var UserCollection = Backbone.Collection.extend({
url: 'http://localhost:3000/users',
// creates a random token
setToken: function() {
var rand = function() {
return Math.random().toString(36).substr(2)
}
var token = rand() + rand();
this.set({authToken: token});
}
});
И это вид с функцией входа
var LoginView = Backbone.View.extend({
initialize: function() {
this.collection = new UserCollection();
// template
}
// render function omitted
signIn: function() {
var login = $('#login').val();
var password = $('#password').val();
/**
finds a user within with the values from input fields
inside the collection
*/
if (login && password) {
this.collection.fetch({
data: {
login: login,
password: password
}
});
}
}
});
Эта функция возвращает мне массив с одним объектом, это моя запрошенная модель. Все, что мне нужно, это использовать мой метод setToken
и сохранить authToken
этой модели в файле cookie, чтобы я мог использовать его в другом месте приложения, но на самом деле я не понимаю, как это сделать.