Acceda a datos autenticados con AngularFire2

Estoy usando AngularFire2 en un proyecto Angular2 para hacer una tarea muy básica, iniciar sesión y luego mostrar la información de los usuarios registrados en la página.

El inconveniente aparentemente simple que he encontrado es que necesito conocer el UID de los usuarios para solicitar los datos de Firebase (mi estado de permisos solo puede acceder a la clave dentro de "/ users" con su propio UID, bastante estándar).

Descubrí que para obtener el UID necesito suscribirme al af.auth observable y luego solicitar los datos del usuario usando af.auth.uid, lo cual hice con éxito.

También he notado que af.database.object crea otro observable, al que en teoría puedo acceder canalizando con Asyc en mi HTML. El problema es que parece que no puedo obtener una referencia a los datos del usuario obtenidos en auth.subscribe, en ningún otro lugar de mi aplicación (específicamente en el HTML).

Puedo console.log la suscripción del usuario, lo que confirma que estoy obteniendo los datos.

Corrija mi comprensión o enséñeme cómo puedo acceder a estos datos. Soy muy nuevo en los conceptos de mecanografiado y observables.

Componente Javascript Angular 2

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>

Respuestas a la pregunta(1)

Su respuesta a la pregunta