Ember-simple-auth:使用自定义cookie会话存储其他令牌

时间:2016-07-07 10:54:51

标签: cookies ember.js ember-simple-auth

使用:ember-cli v2.5,ember-simple-auth v1.1.0

我无法理解我是否可以在自定义ember-simple-auth基于cookie的会话存储中正确存储其他令牌。

我正在尝试存储购物车令牌,以确保它能够在浏览器刷新后继续存在。

我开始创建一个购物车服务来处理init,添加,删除等...关于会话是否有令牌。

这是我的app / 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并了解我的所有可能性。

0 个答案:

没有答案