亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Firebase 數據庫安全規則 - 根據動態 CustomClaim 名稱設置訪問權限

Firebase 數據庫安全規則 - 根據動態 CustomClaim 名稱設置訪問權限

開滿天機 2023-06-15 09:53:37
所以我已經設法根據他們所屬的組使用下面的 Node.js 代碼為每個用戶分配一個自定義聲明:exports.giveToken = functions.database.ref("userSearch/{Id}").onCreate((snapshot,context)=>{ if(snapshot.child("cId").exists()){   const group = snapshot.child("cId").val();   const userId = context.params.Id;    return admin.auth().setCustomUserClaims(userId, {[group]: true}); }else{   return null; }})如您所見,companyId / customClaim 名稱是動態設置的,即可以是 1234 也可以是 123456在 Firebase 的數據庫安全規則中,這是我的規則:{  "rules": {        "c" :{        "$comp_id" : {              "$uid": {              ".read" :"auth.uid == $uid && auth.token.$comp_id === true",              ".write": "auth.uid == $uid"              }        }           }}}問題實際上是雙重的,這種類型的訪問控制是否可以通過 Firebase Custom Claims 實現?如果可以,我該如何實現它?我在這里的最終目標是用戶加入>根據他們的組分配自定義聲明>只能訪問來自該組(或節點)的數據。提前謝謝了。
查看完整描述

1 回答

?
九州編程

TA貢獻1785條經驗 獲得超4個贊

您需要使用方括號表示法:


{

  "rules": {

        "c" :{

        "$comp_id" : {

              "$uid": {

              ".read" :"auth.uid == $uid && auth.token[$comp_id] === true",

              ".write": "auth.uid == $uid"

              }

        }

     

      }

}}


查看完整回答
反對 回復 2023-06-15
  • 1 回答
  • 0 關注
  • 134 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號