Sto utilizzando Mozilla Persona su un progetto. Vorrei aggiornare loggedInUser
dopo onlogin
. Ma loggedInUser
è un attributo di un oggetto passato a navigator.id.watch()
. navigator.id.watch()
è stato chiamato una volta (in un servizio AngularJS). Devo richiamarlo di nuovo, passando l'intero oggetto? Non sembra giusto. Ho sbagliato? = PCome aggiornare loggedInUser dopo onlogin in Mozilla Persona
Ecco il mio servizio:
app.factory('persona', function ($rootScope, $http) {
navigator.id.watch({
loggedInUser: null,
onlogin: function onlogin(assertion) {
console.log(this);
$http.post('/signIn', { assertion: assertion })
.then(function (data, status, headers, config) {
$rootScope.$broadcast('signIn', data.data);
}, function (data, status, headers, config) {
$rootScope.$broadcast('signInError', data.data);
});
},
onlogout: function onlogout(param) {
$http.get('/signOut')
.then(function (data, status, headers, config) {
$rootScope.$broadcast('signOut', data.data);
}, function (data, status, headers, config) {
$rootScope.$broadcast('signOutError', data.data);
});
}
});
return {
signIn: function signIn() {
navigator.id.request();
},
signOut: function signOut() {
navigator.id.logout();
}
};
});
Nella chiamata 'app.factory()' di cui sopra, è possibile cercare l'indirizzo e-mail dell'utente attualmente connesso e quindi inoltrarlo? Normalmente ciò che le persone fanno è che hanno il back-end in uscita l'indirizzo e-mail dell'utente attualmente loggato in modo che possa essere raccolto da ogni chiamata a 'navigator.id.watch()'. –