Just to offer some other solutions. You can use either values or events (depends on your setup as you might have some concurrency issues).
The following example describes the usage of angular values in your case and assumes your module is called "app".
angular
.module('app')
.value('states', {
facebookUser: null
});
Then in your AppCtrl, you can inject the "states" value set it to a deferred promise:
angular
.module('app')
.controller('AppCtrl', ($q, states) => {
states.facebookUser = $q.defer();
});
This way you can inject and access the value in your other controllers.
Using values might be great if you just need some kind of global state. If you need something more robust, using service or factory might be more appropriate.