Como obter as informações do usuário autenticado e usar em todos os controladores e serviços?

Estou usando o angularFireAuth e quero recuperar as informações do usuário conectado e usá-las em todos os controladores ou serviços quando o aplicativo é inicial.

Atualmente, eu usei isso em todos os controladores, mas estou com algum problema.

$scope.$on("angularFireAuth:login", function(evt, user){ 
  console.log(user);
});

O retorno de chamada não será chamado se não for um carregamento de página completo ou retornar null quando o aplicativo for inicializado.

Eu preciso de algumas dicas de como posso retornar as informações do usuário autenticado para que eu possa usar quando o aplicativo é inicial e em todos os controladores e serviços.

Exemplo

Quando em controlador ou serviços

$scope.auth.user.id retornará o ID do usuário$scope.auth.user.name retornará o nome do usuárioetc

questionAnswers(2)

yourAnswerToTheQuestion