用ember-simple-auth设置会话数据的正确方法是什么?

时间:2019-05-28 23:28:01

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

我正在使用Ember-simple-auth进行身份验证,但似乎无法将数据保存到会话存储中。

我的登录方法如下:

authenticate() {
  const { username, password } = this.getProperties('username', 'password');
  this.get('session').authenticate('authenticator:oauth2', username, password).catch((err) => {
    this.set('loginError', 'Login failed: ' + JSON.stringify(err.message));
  })
}

这将正确返回API令牌并将isAuthenticated设置为True。我还可以访问{{session.content.authenticated}},但找不到向会话存储添加新数据的正确方法。

我的会话服务使用计算所得的属性返回带有用户信息的promise,如下所示:

  player: computed('isAuthenticated', function() {
    const userId = this.get('session.content.authenticated._id');
    if (!Ember.isEmpty(userId)) {
      return DS.PromiseObject.create({
        promise: this.get('store').findRecord('user', userId)
      })
    }

然后我可以通过注入会话服务来访问{{session.user.properties}},但在浏览器中看不到任何会话数据。我唯一能看到的是本地存储中的ember_simple_auth-session?如何扩展自己的自定义会话数据类?

0 个答案:

没有答案