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