2015-12-01 2 views
1

Folks,уголек-простой аутентификации наиважнейшая sessionAuthenticated

Я пытался получить ESA для перенаправления на конкретные страницы после входа в систему и выход из системы событий без успеха.

Я пытаюсь сделать это, переопределив метод sessionAuthenticated, но также попытался установить настройку «routeAfterConfiguration» без везения.

На данный момент логин отправляет меня в «/», а выход из системы отправляет приложение в «/ undefined».

Я использую simple-auth-token как стратегию аутентификации JWT.

Код для моего маршрута приложения выглядит следующим образом ...

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

export default Ember.Route.extend(ApplicationRouteMixin,{ 
    actions: { 
     sessionAuthenticated: function() { 
     console.log('sessionAuthenticated: authentications ok'); 
     window.location.replace('/profile'); 
    }, 
    }, 
}); 

Мой login.js выглядит следующим образом:

import Ember from 'ember'; 
const {service} = Ember.inject; 

export default Ember.Route.extend({ 
    session: service('session'), 
    errorMessage: null, 
    model: function(){ 
    return Ember.Object.create({ 
      identification:'', 
      password: '',  
      errorMessage: this.get('errorMessage') 
    }); 
    }, 

    setupController: function(controller, model) { 
    controller.set('credentials',model); 
    }, 

    actions: { 
    authenticate: function(credentials) { 
     console.log(credentials); 
     this.get('session').authenticate('simple-auth-authenticator:jwt', credentials) 
    .catch((reason) => { 
     console.log('Login Error'); 
     credentials.set('errorMessage', reason); 
    }); 
    }, 
}, 

});

Кто-нибудь знает, что я могу делать неправильно здесь?

Приветствия,

Энди

+0

Вы можете разместить любой дополнительный код, относящийся к простому AUTH? Ваше действие для входа в систему, любой пользовательский аутентификатор (или сообщите нам, какой из них вы используете), и конфигурацию ENV, связанную с простым подключением. Также вы должны использовать 'this.transitionTo ('profile');' вместо использования 'window.location.replace' –

+0

Спасибо Том. Более подробная информация приведена выше ... –

ответ

3

OK. Нашел проблему. Это не действия - это методы. Поэтому мне просто нужно было продвигать методы из объекта action, и все получилось хорошо.

Так правильные маршруты/application.js выглядит следующим образом:

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

export default Ember.Route.extend(ApplicationRouteMixin,{ 
    sessionAuthenticated: function() { 
    console.log('sessionAuthenticated: authentications ok'); 
    window.location.replace('/profile'); 
    }, 
}); 
+0

Ahh Я смущен тем, что не поймал этого ха-ха. Рад, что ты это понял. –

Смежные вопросы