Base de datos de Firebase: ¿riesgos asociados con exponer uid en el lado del cliente?

Preguntas cortas: ¿Cuáles son los riesgos / problemas si expongo el UID de otro usuario en el lado del cliente?

Mi circunstancia: estoy creando una aplicación de prueba de Android que debe permitir que 1) el usuario solicite autorización para 2) acceder a los datos privados del usuario A.

No sé si es un hecho "duh", pero parece que no puedo encontrar ninguna advertencia en Firebase sobre "NO EXPONER EL UID". He estado hojeando la sección de seguridad del usuario y la demostración de ejemplo de chat de Firebase, y el enfoque común parece crear un campo "compartir" o "autorizado" con el uid del usuario autorizado como verdadero. Mi pregunta es principalmente sobre el primer paso. A continuación se muestra un fragmento de mi estructura de datos.

 {
      "users" : {
        "uid_of_user_a" : {
          "requests" : {
            "-KeXTQeFJ2gAiaazteO1" : {
              "requestUid" : "uid_of_user_foo",
              "targetUid" : "uid_of_user_a",
              "timeStamp" : 123456
            }
          }
        }
      }
    }

Mi pensamiento es este.

Las reglas para el campo de solicitud es que es de lectura / escritura para el usuario con uid_of_user_a, y se puede escribir para cualquier usuario autenticado solo si dicho usuario introduce el targetUid que coincide con uid_of_user_a.

En el lado del cliente, el usuario A tiene un onChildEventListener adjunto con una referencia a este campo. Cuando el cliente recibe una devolución de llamada onChildAdded, aparece un cuadro de diálogo y solicita confirmación.

Si se confirma, el lado del cliente recupera el uid del solicitante del mensaje de solicitud y lo empuja al campo "autorizado"

Los datos privados del usuario A pueden ser legibles por el uid que figura en el campo autorizado.

Problema: se requiere exponer el uid de otro usuario al cliente. Este método es comparable a llamar a alguien por teléfono, la persona que llama tiene que saber primero el número de teléfono del destinatario. entonces, sin dar realmente números de teléfono y correos electrónicos, alguien tiene que conocer el UID de alguna manera para incluso transmitir un mensaje y pedir que se compartan datos, ¿verdad? ... pero, mi enfoque intuitivo parece dudoso.

Soy nuevo en la base de datos de Firebase y la autenticación de usuarios en general, así que perdón por mi francés :) Gracias de antemano a todos los gurús.

Respuestas a la pregunta(1)

Su respuesta a la pregunta