Je souhaite effectuer du code lorsque la session ember-simple-auth est authentifiée.Ember: ESA: sessionAuthenticated ne s'appelle pas
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()
fonction appelée avec succès au démarrage de l'application et resolve()
en elle appelle aussi. Je m'attends à "succès d'authentification!" chaîne dans la console, mais ne rien obtenir. Est-ce un bug ou une erreur dans mon code? Merci.
MISE À JOUR:
Après enquête, je compris que sessionAuthenticated
a été appelé, mais une seule fois. Et il n'est pas appelé lorsque la session est restaurée à partir de localStorage avec la méthode restore
. Est-ce que ce comportement est attendu? Pour moi, il ressemble à un bug ...
Thx. Je vais essayer. Mais j'ai pensé que ce sont des méthodes (comme je l'ai appris sur http://ember-simple-auth.com/api/classes/ApplicationRouteMixin.html). – Crabar
Ah, c'est un changement de 0.8.x à 1.x. Désolé de boue les eaux. – justinaray