Ember: ESA: sessionAuthenticated doesn't called


#1

Hi all! I want to perform some code when ember-simple-auth session get authenticated.

routes/application.js

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

export default Ember.Route.extend(ApplicationRouteMixin, {
	currentUser: Ember.inject.service('current-user'),
	ajax: Ember.inject.service('ajax'),

	actions: {
	    authSuccess: function() {
	    	var self = this;
	    	self.get('ajax').request({
	    		url: "http://prod-drunkedguru.rhcloud.com/rest/users/me",
	    		method: "GET"
	    	}, function(response) {
	    		Ember.$('#loginWindow').modal('hide');
	    		self.get('currentUser').setUser(response);
	    	}, function(xhr, status, error) {
	    		if (status === "Incorrect credentials") {
	    			self.set('hasError', true);
	    		}
	    	});
	    	
	    }
	},

	sessionAuthenticated: function() {
		console.log("auth success!");
	},

	sessionInvalidated: function() {
		console.log("401");
	}
});

autheticators/digest.js

import Base from 'ember-simple-auth/authenticators/base';
import Ember from 'ember';
import CryptoJS from 'npm:crypto-js';

export default Base.extend({

	restore: function(data) {
		if (data.email && data.password) {
			return new Ember.RSVP.Promise(function(resolve, reject) {
				resolve({email: data.email, password: data.password, digests: {}});
			});
		}
	},

	authenticate: function(email, password) {
		var self = this;
		return new Ember.RSVP.Promise(function(resolve, reject) {
			Ember.run(function() {
				resolve({email: email, password: password, digests: {}});
			});
		});
	},

	invalidate: function(data) {
		//
	}
});

restore() function successfully called on application start and resolve() in it called too. I expect “auth success!” string in console, but get nothing. Is this a bug or it’s some mistake in my code? Thanks.


#2

After some investigation I realized that sessionAuthenticated called but only first time. And it doesn’t called when session restored from localStorage with method restore. Is this expected behavior? For me it looks like a bug…