¿Es auth.uid un secreto compartido?

Resuelto Ronnie Royston asked hace 54 años • 0 respuestas

Parece que cuando alguien se autentica a través de oAuth, Firebase crea un uid que se parece a google:111413554342829501512, por ejemplo.

En las reglas de Firebase, puedes hacer (leer y/o escribir):

".read": "root.child('users').child(auth.uid).child('isAdmin').val() == true"

¿Se supone que no puedo leer el mensaje rastreando la red debido al uso de HTTPS? ¿Es así como funciona: el UID es una clave compartida utilizada por las reglas de Firebase?

Veo ese UID en firebase:session::ackel almacenamiento local de mi navegador una vez autenticado.

Ronnie Royston avatar Jan 01 '70 08:01 Ronnie Royston
Aceptado

Conocer la identificación de usuario de alguien no es un riesgo para la seguridad.

Por ejemplo, sé que su ID de usuario de Stack Overflow es 4797603. Ese solo hecho me permite potencialmente encontrarlo en Stack Overflow.

Pero de ninguna manera me permite fingir que soy Ron Royston. Para hacer esto último, necesitaría saber el nombre de usuario y la contraseña (y cualquier otro factor) que utilice para iniciar sesión.

Lo mismo se aplica a Firebase. Si sabes que mi uid en alguna aplicación respaldada por Firebase es google:105913491982570113897, no puedes fingir ser yo de repente. Los servidores de Firebase verifican que el auth.uidvalor se base en las credenciales reales de ese usuario. La única forma de hacerlo es iniciando sesión como yo, lo que en este caso requiere que conozcas mis credenciales de Google.

Frank van Puffelen avatar May 14 '2016 03:05 Frank van Puffelen