Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

354
Visualizações
¿Por qué esto todavía permite que el usuario escriba incluso si el ID de usuario no es correcto pero el correo electrónico es correcto?

Creé un usuario usando esto: ingrese la descripción de la imagen aquí

Y así es como iniciarán sesión en el sistema:

 const handleSubmit = async (e) => { e.preventDefault(); const auth = getAuth(); console.log(email, password, "1"); setIsLoading(true); signInWithEmailAndPassword(auth, email, password) .then((userCredential) => { // Signed in const user = userCredential.user; setIsLoading(false); navigate("/Homepage"); // ... }) .catch((error) => { const errorCode = error.code; const errorMessage = error.message; setIsLoading(false); alert(errorMessage); }); };

Estoy configurando Firestore donde solo la persona que inició sesión podrá crear y escribir en todos los orders de colecciones, product , category y el history de subcolecciones. Lo que significa que todos los usuarios autenticados podrán leer y escribir en todas las colecciones y subcolecciones.

Esta es la colección de Firestore:

ingrese la descripción de la imagen aquí

Reglas de seguridad de Firestore:

 service cloud.firestore { match /databases/{database}/documents { match /{document=**} { allow read, write: if request.auth != null; } } }

Ahora, estoy probando esto con el patio de recreo de Reglas, sin embargo, aún permitirá el acceso incluso si el ID de usuario es incorrecto y el correo electrónico es correcto. ¿Hay algún problema con mis reglas de seguridad de Firestore o estoy haciendo las reglas incorrectamente?

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

¿Hay algún problema con mis reglas de seguridad de Firestore o estoy haciendo las reglas incorrectamente?

Tampoco, simplemente funciona un poco diferente de lo que supones.

La regla de seguridad no verifica si su uid proporcionado coincide con el email , por lo tanto, cualquier uid y cualquier correo electrónico en su objeto de auth (consulte el panel "Carga útil de autenticación") pasará su regla de seguridad en Playground. Pasa porque, como puede ver en el panel Carga útil, request.auth no es null .

Ahora, asume que cualquiera puede enviar cualquier uid y cualquier correo electrónico a Firestore y pasar su regla de seguridad. Este no es el caso.

Su usuario no crea el objeto que ve en el panel "Carga útil de autenticación": Firebase lo hace por usted en segundo plano cuando recibe la solicitud del cliente.

Sus usuarios deben enviar un token junto con la solicitud. Este token es el "pegamento" entre una sesión de usuario y un usuario específico en Firebase Auth. Firebase verifica que el token sea válido y luego agrega los detalles de autenticación como auth a su request . En Firestore, tiene acceso a esos detalles de autenticación en las Reglas de seguridad.

En Playground, asume el rol de Firebase Auth y decide cuál es la carga útil de autenticación. Firestore asume que su entrada es correcta y la compara con la regla de seguridad que proporcionó. Su carga útil de auth pasa la prueba porque solo prueba si no es null .

TL&DR: su regla de seguridad está bien, Playground solo asume que ha generado una carga útil de autenticación válida. En el mundo real, Firebase generaría esta carga útil por ti.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda