Acesse dados autenticados com o AngularFire2

Estou usando o AngularFire2 em um projeto Angular2 para executar uma tarefa muito básica, fazer login e depois mostrar as informações dos usuários logados na página.

O problema aparentemente simples que encontrei é que eu preciso conhecer o UID do usuário para solicitar esses dados do Firebase (o estado das minhas permissões só pode acessar a chave dentro de "/ users" com o próprio UID - padrão bastante).

Eu descobri que, para obter o UID, preciso assinar o af.auth observable e, em seguida, solicitar os dados do usuário usando af.auth.uid - o que fiz com sucesso.

Também observei que o af.database.object cria outro observável, que eu posso acessar em teoria, canalizando com o Asyc no meu HTML. O problema é que parece que não consigo obter referência aos dados do usuário obtidos no auth.subscribe, em qualquer outro lugar do meu aplicativo (especificamente no HTML).

Eu posso console.log a assinatura do usuário, o que confirma que estou recebendo os dados.

Por favor, corrija meu entendimento ou ensine-me como posso acessar esses dados. Sou muito novo nos conceitos de Datilografado e Observável.

Componente Angular 2 do Javascript

export class AppComponent {
  title = 'Webroot';
  user: FirebaseObjectObservable<any>;
  constructor(public af: AngularFire) {
    af.auth.subscribe(function(auth){
      if(auth != null){
        this.user = af.database.object("users/"+auth.uid)
        this.user.subscribe(user => console.log(user));
      }
      else{
        console.log("Auth is Null!")
      }
    });
  }
}

HTML

<div> {{ (user | async | json) }} </div>

questionAnswers(1)

yourAnswerToTheQuestion