Ember-simple-auth: использовать пользовательский сеанс cookie для хранения дополнительного токена
Использование: ember-cli v2.5, ember-simple-auth v1.1.0
У меня возникли проблемы с пониманием, могу ли я правильно хранить дополнительный токен в специализированном хранилище сессий ember-simple-auth.
Я пытаюсь сохранить токен корзины покупок, чтобы убедиться, что он выдерживает обновление браузера.
Я начал создавать сервис корзины покупок для обработки init, add, remove и т. Д. Относительно того, есть ли у сессии токен.
Вот мое приложение / session-stores / application.js
// app/session-stores/application.js
import Cookie from 'ember-simple-auth/session-stores/cookie';
export default Cookie.extend({
orderToken: null
});
Кажется, не используется. Служба сеанса по-прежнему использует адаптивное хранилище.
Вот мой сервис корзины покупок
// app/services/shopping-cart.js
import Ember from 'ember';
export default Ember.Service.extend({
store: Ember.inject.service('store'),
session: Ember.inject.service('session'),
basket: null,
[...]
init() {
this._super(...arguments);
let orderToken = this.get('session.orderToken'); // First try
// let orderToken = this.get('session.store.orderToken'); // Second Try
if (orderToken) {
this.get('store').findRecord('order', orderToken).then((order) => {
this.set('basket', order);
})
}
},
[...]
_createBasket() {
return this.get('store').createRecord('order', {}).save().then((order) => {
this.set('basket', order);
this.set('session.orderToken', order.token); // First try
// this.set('session.store.orderToken', order.token); // Second Try
});
}
})
Тогда идея будет заключаться в том, чтобы внедрить сервис, где мне нужно. К сожалению, это не работает, и я действительно не знаю, смогу ли я это сделать или это правильный путь.
Любые советы, ответы будут очень благодарны!
В настоящее время я использую ember-cookie, и он работает как шарм. Я просто пытаюсь поиграть с ember-simple-auth и понять все свои возможности.