Partage
  • Partager sur Facebook
  • Partager sur Twitter

Firebase permission denied

Cours Angular et firebase - TP book

    9 décembre 2018 à 13:25:21

    Bonjour à tous,

    je suis en train de suivre le tuto de la gestion des livres dans le cours Angular.

    Tout est ok de mon coté mais j'ai problème au moment de l'insertion dans la DB firebase. 

    Je regarde la console et j'ai ceci : 

    index.esm.js:74 [2018-12-09T12:11:12.433Z]  @firebase/database: FIREBASE WARNING: set at /books failed: permission_denied 
    
    ERROR Error: Uncaught (in promise): Error: PERMISSION_DENIED: Permission denied
    Error: PERMISSION_DENIED: Permission denied
    ...

    bizarre car j'autorise tout dans firebase:

    service cloud.firestore {
      match /databases/{database}/documents {
        match /{document=**} {
          allow read, write;
        }
      }
    }

    j'ai même essayé ceci après avoir créer une collection /books dans firebase en ajoutant un auteur et un titre

    service cloud.firestore {
      match /databases/books {
      
          allow read, write;
        
      }
    }

    Si quelqu'un à une idée ce serait sympa car je trouve que des règle obsolètes sur le net.

    Merci!



    • Partager sur Facebook
    • Partager sur Twitter
      11 décembre 2018 à 5:30:24

      Salut, voici une solution toute simple, au niveau de la base de données, utilise Realtime Database et au niveau des règles change false en true, ça devrait passer
      • Partager sur Facebook
      • Partager sur Twitter
        27 mars 2019 à 14:22:49

        Salut.

        Même problème que raphp.

        La solution de TohouriGnahou fonctionne, mais comment faire du coup avec les règles read et write sur false pour avoir une application sécurisé avec la base de données ?

        • Partager sur Facebook
        • Partager sur Twitter
          19 juin 2019 à 21:15:07

          Même problème ... j'ai suivi le tutoriel sur la création des books, et je reçois une sorte de 403 depuis Firebase alors que j'ai bien authentifié mon utilisateur.

          Sur ce ticket : https://stackoverflow.com/questions/37403747/firebase-permission-denied, les participants recommandent soit de modifier les droits en lecture / écriture, ce qui est un non sens, soit d'encapsuler la transaction DB dans le callback de l'authentification, ce qui n'est vraiment pas pratique.

          Du coup j'ai investigué un peu, et il suffit en fait de modifier les règles d'accès à la DB sur Firebase, ce qui se tient bien finalement ^^

          Une sécurisation très (trop) simple, serait ceci :

          {

            "rules": {

              ".read": "auth !== null",

              ".write": "auth !== null"

            }

          }

          Le souci dans ce cas, ça serait que n'importe quel user authentifié ayant l'accès DB pourrait accéder aux données, il faut donc sécuriser un peu plus si c'est pour de la production.

          Voir : https://firebase.google.com/docs/reference/security/database/?authuser=0#variables

          -
          Edité par stevelebleu1979 19 juin 2019 à 21:26:43

          • Partager sur Facebook
          • Partager sur Twitter
            3 juillet 2019 à 8:26:18

            Salut Steve,

            J'ai le même souci que vous, pourrez tu nous donner toute ta conf ? Es tu en Cloud FIrestorm ou en real database ?

            Merci
            • Partager sur Facebook
            • Partager sur Twitter
              3 juillet 2019 à 17:24:12

              Bonjour tout le monde,

              Si vous souhaitez suivre le code du cours, il faut utiliser le Realtime Database et non Cloud Firestore, car ce dernier n'emploie pas du tout les mêmes méthodes.

              Ensuite si vous souhaitez apprendre à sécuriser une application Firebase, je vous invite à lire les parties correspondantes de la documentation, elles sont super bien écrites.

              Bonne journée !

              • Partager sur Facebook
              • Partager sur Twitter

              Keep going and you'll get there!

              Will Alexander

                31 janvier 2020 à 8:21:54

                WillAlexander a écrit:

                " il faut utiliser le Realtime Database et non Cloud Firestore"


                Bonjour,

                Justement j'ai été étonnée en suivant le tuto bibliothèque de ne pas retrouver les mêmes consignes que pour le blog, où il est clairement dit de cliquer sur realtime database.

                Pour le tuto de la biblio il y a d'autres consignes. En les suivant (peut-être avec erreurs) je me suis retrouvée sans DB! et j'ai dû aller dans storage et "commencer une database", mais du coup ça ne règle pas toutes les erreurs. Je ne sais plus revenir en arrière maintenant.

                J'ai des problèmes pour le chargement des images et pour l'affichage du détail d'un livre. Je cherche depuis 2j sans arriver à me déboguer.

                J'ai repris tout le code du cours ligne par ligne, j'ai tout d’identique. Je pense donc que cela vient de mes réglages dans firebase.google.io.

                D'ailleurs ils disent de copier un lien script alors que dans le cours ce n'est pas demandé.

                Bref en tant que débutante je suis perdue, et je ne fais pas arriver à finir mon tuto.

                Ps: avoir le code source serait aidant pour le débogage, c'est long de tout comparer avec une image.

                virginie

                • Partager sur Facebook
                • Partager sur Twitter
                  16 février 2020 à 22:10:55

                  Bonjour à tous

                  je me retrouve moi aussi avec un problème au moment d'insérer le premier livre.

                  J'ai pu le résoudre avec les informations fournies par stevelebleu1979.

                  Pour information, voici une capture d'écran de la configuration de la database de mon projet, après avoir activé la database en mode RealTime et avoir modifié les règles de sécurité :

                  configuration rules database

                  Une fois cela effectué, l'insertion et la récupération des livres fonctionnes bien.

                  Dominique

                  • Partager sur Facebook
                  • Partager sur Twitter
                    18 août 2020 à 15:02:07

                    WillAlexander a écrit:

                    Bonjour tout le monde,

                    Si vous souhaitez suivre le code du cours, il faut utiliser le Realtime Database et non Cloud Firestore, car ce dernier n'emploie pas du tout les mêmes méthodes.

                    Ensuite si vous souhaitez apprendre à sécuriser une application Firebase, je vous invite à lire les parties correspondantes de la documentation, elles sont super bien écrites.

                    Bonne journée !

                    Bonjour,

                    Tout d'abord merci pour ce cours.

                    Par contre, effectivement, il faut prendre Realtime Database...mais vu comme c'est indiqué, je précise ici qu'il faut faire super attention pour bien prendre ça, car ce n'est pas ce qu'il prend par défaut...et si on ne fait pas attention, on râte.

                    • Partager sur Facebook
                    • Partager sur Twitter

                    Dominique SAUVIGNON

                      19 novembre 2020 à 17:31:11

                      Hello all,

                      Désolé pour la réaction tardive, je ne suis plus passé ici depuis un bout de temps! Le mieux est de se baser sur la configuration montrée sur le screenshot de DominiqueClesse.

                      Pour info firebase propose (ou va proposer, à vérifier) désormais firestore (https://firebase.googleblog.com/2017/10/introducing-cloud-firestore.html). Si vous aviez créé votre db sur un espace gratuit, elle pourrait être détruite. Je mets tout ça au conditionnel parce ce que j'ai reçu un email m'informant de quelque chose du genre, mais je l'ai effacé par mégarde ... bref, renseignez-vous et ... bon dev !

                      • Partager sur Facebook
                      • Partager sur Twitter

                      Firebase permission denied

                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                      • Editeur
                      • Markdown