Разрешение Nuxtjs / Firebase отклонено - PullRequest
0 голосов
/ 18 апреля 2020

Невозможно прочитать / получить данные из базы данных Firebase в реальном времени, используя ссылку модуля Firebase сообщества Nuxt-сообщества здесь . Уже добавлен мой конфиг firebase внутри nuxt.config.js файла, как показано ниже.

modules: [
    '@nuxtjs/dotenv',
    [
      '@nuxtjs/firebase',
      {
        config: {
          apiKey: process.env.API_KEY,
          authDomain: process.env.AUTH_DOMAIN,
          databaseURL: process.env.DATABASE_URL,
          projectId: process.env.PROJECT_ID,
          storageBucket: process.env.STORAGE_BUCKET,
          messagingSenderId: process.env.MESSAGING_SENDER_ID,
          appId: process.env.APP_ID,
          measurementId: process.env.MEASUREMENT_ID,
          databaseSecret: process.env.DATABASE_SECRET,
        },
        services: {
          auth: true,
          realtimeDb: true,
        }
      }
    ],
  ],

Правила: Я не уверен, правильно ли это. Я просто хочу ограничить доступ для чтения только мне.

{
  "rules": {
    ".read": "auth.uid === 'my-uid-here'",
    ".write": "false"
  }
}

SomeComponent. vue

async loadFromDb() {
      const messageRef = this.$fireDb.ref('cases')
      try {
        const snapshot = await messageRef.once('value')
        alert(snapshot.val().cases)
      } catch (e) {
        alert(e)
        return
      }
},

1 Ответ

1 голос
/ 18 апреля 2020

Вы пытаетесь читать с /cases, в то время как ваши правила безопасности предоставляют доступ только на /users. Если вы хотите читать /cases (тоже), вам нужно предоставить права на чтение /cases (тоже).

{
  "rules": {
    "users": {
      "$uid": {
        ".read": "$uid === auth.uid",
        ".write": "false"
      }
    },
    "cases": {
      ".read": true
    }
  }
}
...