2015-04-05 1 views
0

Итак, я настраивал менеджера auth через мой ember на прошлой неделе a и, наконец, получил его работу. Тем не менее, я все еще получаю сообщение об ошибке при аннулировании пользователя.Ошибка Ничего не обработало действие «sessionInvalidationSucceeded» с использованием Simple Auth Ember JS

Ничто не обработал действие «sessionInvalidationSucceeded»

не могу понять, что лучший способ для обработки ошибки?

import Ember from 'ember'; 
import DS from 'ember-data'; 

export default Ember.Object.extend({ 
authenticate: function(controller, user) { 
    var app = this.container.lookup('controller:application'); 
    var session = app.get('session').authenticate('simple-auth-authenticator:oauth2-password-grant', user); 
    session.then(function() { 
    console.log('Session Started'); 
    controller.transitionToRoute('brands'); 
    }); 
}, 
endSession: function() { 
    var app = this.container.lookup('controller:application'); 
    var session = app.get('session').invalidate(); 
    session.then(function() { 
    app.store = DS.Store.create(); 
    console.log('Session Ended'); 
    app.transitionToRoute('index'); 
    app.store.destroy(); 
    }); 
} 
}); 


import Ember from 'ember'; 

export default Ember.Controller.extend({ 
actions: { 
    sessionEnded: function() { 
    this.authManagerService.endSession(); 
    } 
}, 
currentUser: function() { 
    return this.store.find('user', this.session.get('user_id'); 
}.property('@each.user') 
}); 

ответ

0

Вам необходимо включить Simple Auth Route подмешать на маршруте вы аутентичности

import ApplicationRouteMixin from 'simple-auth/mixins/application-route-mixin'; 

или обрабатывать действия в вашем инициализаторе

Ember.Application.initializer({ 
    name:  'authentication', 
    after:  'simple-auth', 
    initialize: function(container, application) { 
    var applicationRoute = container.lookup('route:application'); 
    var session   = container.lookup('simple-auth-session:main'); 
    // handle the session events 
    session.on('sessionInvalidationSucceeded', function() { 
     applicationRoute.transitionTo('index'); 
    }); 
} 
}); 

Посмотрите на апи, это действительно полезно http://ember-simple-auth.com/ember-simple-auth-api-docs.html#SimpleAuth-ApplicationRouteMixin-sessionInvalidationSucceeded

+0

'sessionAuthenticationSucceeded' никогда не запускаться, если 'ApplicationRouteMixin' не используется. Может быть, он смешался с неправильным путем? – marcoow