Как правильно установить данные сеанса с помощью ember-simple-auth? - PullRequest
0 голосов
/ 29 мая 2019

Я использую 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}}, но не могу найти правильный способ добавления новых данных в хранилище сеансов.

Моя служба сеансов использует вычисленное свойство для возврата обещания с информацией о пользователе, например:

  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 в локальном хранилище? Как я могу расширить свой собственный класс данных сеанса?

...