1
我發現這個documentation解釋瞭如何鏈接匿名用戶和新的註冊用戶,但我無法理解它是如何工作的。linkWithCredential如何工作?它如何與規則一起工作?
從還發現here的解釋,我有一個大的畫面如下圖所示(請糾正我,如果我錯了):
- 用戶登錄匿名:有userUid(只是舉例)
ANONYM-USER-UID
- 用戶比數據如下圖所示添加到購物車:
數據
-- shoppingCart
-- ANONYM-USER-UID
-- <push-id>
-- itemUid: <item-uid>
-- count: 2
-- <push-id>
-- itemUid: <other-item-uid>
-- count: 1
-- OTHER-USER-UID
-- .......
與規則:只有適當用戶ID可以訪問購物車
"rules": {
"shoppingCart" {
"$userUid": {
".read": "auth.uid == $userUid"
}
}
}
- 結帳之前,用戶 「被迫」 註冊/或登錄,
AuthCredential
則檢索然後打電話給linkWithCredential
。用戶不是使用新userUID例如REGISTERED-USER-UID
的問題是,每當客戶端代碼查詢shoppingCart/REGISTERED-USER-UID
將它取回的shoppingCart/ANONYM-USER-UID
項目列表?規則是否允許?
如果應用於更復雜的規則,例如,規則變得 - 只有適當的用戶ID可以訪問購物車,但userUid絕不能在黑名單孩子。
"rules": {
"shoppingCart" {
"$userUid": {
".read": "auth.uid == $userUid && root.child('blackList').child($userUid).val() == false"
}
}
}
像這樣的邏輯限制,它會成功返回列表嗎?
謝謝你解釋了很多 – ktutnik