Obtenga el ID de índice de un artículo en Firebase AngularFire

Aquí se hizo una pregunta similar, pero la única respuesta aceptada no responde realmente a la pregunta.

Usando AngularFire, ¿es posible crear bases de datos de estilo relacional? ¿O acceder a los UniqueIDs?

Al agregar elementos anidados a Firebase a través de AngularFire, cada elemento se establece bajo otro índice numerado numéricamente.

Debido a esto, necesitaré hacer referencia a los productos del usuario con la siguiente url relativa:

users/:id/products

Mi pregunta es: una vez que haya creado un usuario (o algo parecido), ¿cómo obtengo el valor del índice?

// Get the users
var ref = new Firebase('https://myapp.firebaseio.com/users')
var promise = angularFire(ref, $scope, 'users', {})
promise.then(function() {
  // Can I get the ID from here somehow?
})

// Users saves a product
id = null // ???
var product = {
   name: 'new product',
   desc: 'this is a new product'
}
var ref = new Firebase('https://myapp.firebaseio.com/users/' + id + '/products')
var promise = angularFire(ref, $scope, 'products', {})
promise.then(function() {
  $scope.products.push(product)
})

Actualizar

Para aclarar, esto no es una pregunta acerca de la autenticación del usuario. Ya tengo eso cuidado. Perdón por la confusion.

Acabo de encontrarme con una pared de ladrillos cuando empiezo a hacer cosas "debajo" de otras cosas en Firebase. No importa si esusers ogiraffes.

Si hago "Tiendas", cada Tienda tiene "Productos" (digamos.)

Me gustaría poder recuperarlos con

stores/{storeId}/products

Pero elstoreId idealmente sería el ID de índice que se crea a partir de AngularFire (vea la imagen que adjunto). El problema es que AngularFire simplemente crea esta identificación sin avisarme.

Si tuviera alguna función de éxito como

success: function(response) { 
  $scope.store.id = response.indexId
}

Eso tendría más sentido, pero no parece que AngularFire esté preparando esta funcionalidad tan necesaria. Demuéstrame que estoy equivocado, por favor. :)

Respuestas a la pregunta(3)

Su respuesta a la pregunta