Firebase: autorización para operaciones de edición/eliminación sin cre

Firebase: autorización para operaciones de edición/eliminación sin crear un inicio de sesión de usuario

Creé una aplicación donde los usuarios anónimos pueden escribir comentarios. Ahora quiero que también editen y eliminen (solo) sus comentarios. ¿Es esto posible sin usar la autenticación de base de fuego? Dado que es solo una aplicación única para el usuario, es una exageración crear un inicio de sesión para cada usuario.

Intenté almacenar una clave de edición con el objeto de comentario que debería permitir al usuario editar/eliminar su comentario. (Guardo esta clave para el usuario en una cookie en el navegador)

ingrese la descripción de la imagen aquí

Entonces, de alguna manera, niegue la lectura de editKey (".read:" false) a través de las reglas de firebase. Solo permita la operación de escritura cuando se conozca la clave de edición: ".write": "data.val() == newData.val()"

"comments" : {
    ".read": true,
    "$comment_id": {
        ".write": "!data.exists() && newData.exists()",
            "text": {
                ".validate": "newData.isString()"
            },
            "created": {
                ".validate": "newData.isNumber()"
            },
            "editKey": {
                ".read": false,
                ".write": "data.val() == newData.val()",
                ".validate": "newData.isString()"
            },
            "visible": {
                ".validate": "newData.isBoolean()"
            },
    }
} 

Pero esto no funciona porque todo el comentario, que debería ser público, no se puede leer cuando configuro la regla ".read:" false para editKey

¿Alguna idea de cómo podría lograrse esto sin firebase.auth() ?

Mostrar la mejor respuesta

¿Has visto autenticación anónima de Firebase Auth? Básicamente, eso es exactamente lo que parece estar buscando: una forma sencilla de proporcionar un control de acceso ligero sin necesidad de iniciar sesión.

gracias Michael por la rápida respuesta, he supervisado esta posibilidad, lo intentaré.

También puede guardar la clave de edición en una ubicación diferente. Algo como: "keys" : { "$comment_id": _editKey_ }

Está buscando Autenticarse con Firebase de forma anónima

https://firebase.google .com/docs/auth/web/anonymous-auth#authenticate-with-firebase-anonymous

Puedes usar Firebase Authentication para crear y usar temporales cuentas anónimas para autenticarse con Firebase. estos temporales las cuentas anónimas se pueden usar para permitir que los usuarios que aún no han firmado hasta que su aplicación trabaje con datos protegidos por reglas de seguridad. Si una usuario anónimo decide registrarse en su aplicación, puede vincular su credenciales de inicio de sesión en la cuenta anónima para que puedan continuar para trabajar con sus datos protegidos en futuras sesiones.