我发现这个documentation解释了如何将匿名用户与新注册用户相关联,但我无法理解它是如何工作的。
从解释中也发现here,我得到了如下的大图(如果我错了,请纠正我):
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
-- .......
使用规则:只有适当的UserId才能访问购物车
"rules": {
"shoppingCart" {
"$userUid": {
".read": "auth.uid == $userUid"
}
}
}
AuthCredential
,然后检索linkWithCredential
。用户而不是使用新的userUID,例如REGISTERED-USER-UID
问题是,每当客户端代码查询shoppingCart/REGISTERED-USER-UID
时,它都会检索shoppingCart/ANONYM-USER-UID
的项目列表?规则会允许吗?
如果应用更复杂的规则,例如规则变为什么,该怎么办? - 只有合适的UserId才能访问购物车,但userUid不得使用blackList子项。
"rules": {
"shoppingCart" {
"$userUid": {
".read": "auth.uid == $userUid && root.child('blackList').child($userUid).val() == false"
}
}
}
有了这样的逻辑限制,它会成功返回列表吗?
答案 0 :(得分:4)
我认为您对匿名用户登录的流程稍微感到困惑,然后将其与新的Auth凭据相关联。以下是我的经历。
当用户以匿名身份登录时,系统会分配一个唯一ID。现在,当用户决定使用一些新的身份验证凭据注册时,所有发生的事情都是之前生成的UID匿名登录的时间被分配或 链接到这些新凭据。
所以 实际上没有创建新的UID ,你很高兴。
如果此信息有用,请告诉我。