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

177
Visualizações
La confirmación de autenticación de fracción de segundo de Firebase interfiere con las páginas de Sveltekit debido a las reglas de Firestore

Estoy creando una aplicación con sveltekit usando Firebase Authentication y Firestore. También cambié recientemente mis reglas de Firestore para allow read, write: if request.auth != null; . Sin embargo, mis páginas ahora se ven afectadas por las actualizaciones del navegador.

Cuando me dirijo a las páginas que requieren lectura de firestore, todo salió bien. Pero cuando actualicé, la página se actualizará a una página en blanco con la palabra 500 y mi consola registrará Missing or insufficient permissions.\nFirebaseError: Missing or insufficient permissions. Afortunadamente, mi barra de navegación todavía se muestra y funciona, y cuando navego lejos y vuelvo a la página, todo vuelve a aparecer. Leí que Firebase tarda una fracción de segundo en confirmar la autenticación y creo que eso está interfiriendo con mi página.

Como necesitaba proteger algunas páginas de la autenticación, implementé el código en mi página __layout.svelte .

__layout.esbelto

 <script lang="ts" context="module"> import type { User } from 'firebase/auth'; import { onAuthStateChanged } from "firebase/auth"; import { auth } from "$lib/scripts/firebaseStart"; export async function load() { let authUser: Promise<unknown> = getAuthUser(); function getAuthUser() { return new Promise(resolve => { onAuthStateChanged( auth, user => resolve(user ? user : false) ); }); } return { props: { authUser } }; } </script> <script lang="ts"> import "../styles/global.css"; export let authUser: User|boolean; </script> <main> {#if authUser} <!-- page content --> <slot></slot> {/if} </main>
about 4 years ago · Santiago Gelvez
1 Respostas
Responde à pergunta

0

El error que muestra parece provenir de uno de los productos de Firebase que está protegido por reglas de seguridad del lado del servidor e indica que su código está tratando de acceder a datos o archivos que no coinciden con las reglas que configuró.

De hecho, Firebase vuelve a autenticar las credenciales del usuario cuando la página se vuelve a cargar, lo que (dependiendo de la velocidad de su conexión) puede demorar más de una fracción de segundo.

No hay un usuario actual antes de que se complete esta llamada de autenticación, por lo que si sus reglas de seguridad requieren un usuario autenticado, debe acceder a los datos/archivos hasta que la autenticación se haya completado con éxito conectándose a la base de datos/almacenamiento de archivos solo una vez que su promesa getAuthUser se resuelve con el usuario actual.

about 4 years ago · Santiago Gelvez 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