【问题标题】:Nuxtjs/Firebase permission deniedNuxtjs/Firebase 权限被拒绝
【发布时间】:2020-07-31 15:51:11
【问题描述】:

无法使用 nuxt-community 的 firebase 模块链接 here 从 firebase 实时数据库读取/检索数据。已经在nuxt.config.js 文件中添加了我的firebase 配置,如下所示。

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
      }
},

【问题讨论】:

标签: javascript firebase firebase-realtime-database nuxt.js firebase-security


【解决方案1】:

您正在尝试从/cases 读取,而您的安全规则仅授予对/users 的读取权限。如果你想读取/cases(太),你必须授予对/cases(太)的读取权限。

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

【讨论】:

    猜你喜欢
    • 2020-02-15
    • 2017-12-26
    • 2018-03-06
    • 2021-10-31
    • 2017-12-01
    相关资源
    最近更新 更多