Maison  >  Article  >  interface Web  >  Pourquoi est-ce que je reçois une erreur « Autorisation refusée » lors de l'enregistrement de données sur Firebase ?

Pourquoi est-ce que je reçois une erreur « Autorisation refusée » lors de l'enregistrement de données sur Firebase ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-27 06:34:29878parcourir

Why am I getting a

Autorisation Firebase refusée Problème avec l'enregistrement des données

Dans Firebase, les règles de sécurité régissent les autorisations d'accès aux données stockées dans la base de données. Par défaut, seuls les utilisateurs authentifiés sont autorisés à lire et écrire des données. Cependant, il semble que le code en question tente de sauvegarder des données sans qu'aucun mécanisme d'authentification ne soit mis en place. Cela entraîne l'erreur « Autorisation refusée ».

Comprendre les règles de sécurité

Les règles de sécurité définissent qui peut accéder aux données d'une base de données Firebase et les modifier. Ils peuvent être écrits dans un langage simplifié similaire à JSON. Dans le code fourni, vous devez créer et appliquer des règles de sécurité pour accorder explicitement des autorisations d'écriture à l'utilisateur qui tente de sauvegarder des données.

Autoriser l'accès non authentifié (non recommandé)

Comme solution de contournement temporaire, vous pouvez remplacer les règles de sécurité existantes dans la console Firebase par les suivantes :

{
  "rules": {
    ".read": true,
    ".write": true
  }
}

Cependant, cette approche ouvre votre base de données à des abus potentiels, car toute personne disposant de l’URL de la base de données pourrait potentiellement accéder ou modifier ses données. Il n'est pas recommandé pour les environnements de production.

Connexion de l'utilisateur avant l'accès aux données

Pour une approche plus sécurisée, assurez-vous que l'utilisateur est connecté avant d'accéder à la base de données. . Vous pouvez utiliser l'authentification anonyme pour ce faire sans demander à l'utilisateur de fournir des informations d'identification :

firebase.auth().signInAnonymously().catch(function(error) {
  // Handle errors here
});

Une fois l'utilisateur connecté, vous pouvez attacher des écouteurs d'événements à la base de données pour gérer les opérations sur les données, garantissant ainsi que l'utilisateur dispose d'autorisations en écriture :

firebase.auth().onAuthStateChanged(function(user) {
  if (user) {
    // User is signed in
    // Set required data using useridRef.set(...)
  } else {
    // User is signed out
  }
});

N'oubliez pas qu'avant de mettre votre application en production, vous devez mettre en œuvre des mesures de sécurité appropriées pour protéger vos données. Cela inclut la création de règles de sécurité personnalisées qui définissent des autorisations d'accès spécifiques pour différents utilisateurs ou groupes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn