Autorisation Firebase refusée : résolution des problèmes d'accès
Lorsque vous essayez d'envoyer des données à une base de données Firebase, vous pouvez rencontrer l'erreur "permission_denied". Cela indique que l'utilisateur actuel ne dispose pas des autorisations nécessaires pour accéder aux données spécifiées.
Par défaut, la base de données Firebase n'est accessible qu'aux utilisateurs administratifs ou aux processus utilisant un SDK Admin. Cependant, vous pouvez modifier les règles de sécurité de la base de données pour accorder l'accès aux utilisateurs authentifiés ou même aux utilisateurs non authentifiés.
Autoriser l'accès non authentifié
Une solution simple consiste à remplacer les règles par défaut par ce qui suit :
{ "rules": { ".read": true, ".write": true } }
Cela accorde un accès en lecture et en écriture à toute personne ayant accès à l'URL de la base de données. Il est important de noter que cette action rend votre base de données accessible au public, elle ne doit donc pas être utilisée pour des données sensibles.
Connexion des utilisateurs avant l'accès
Une option plus sécurisée est de s'assurer que l'utilisateur est connecté avant d'accéder à la base de données. Cela peut être accompli en utilisant l'authentification anonyme :
firebase.auth().signInAnonymously().catch(function(error) { // Handle Errors here. });
Après la connexion, vous pouvez attacher des auditeurs à la base de données :
firebase.auth().onAuthStateChanged(function(user) { if (user) { // User is signed in. setUserInfo(); } else { // User is signed out. } });
Dans la fonction "setUserInfo", vous pouvez définir le données nécessaires à la base de données à l’aide de l’ID utilisateur fourni. Cela garantit que seuls les utilisateurs connectés peuvent accéder à vos données.
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!