ktu*_*nik 1 android firebase firebase-security firebase-authentication
我发现这个文档解释了如何将匿名用户与新注册用户联系起来,但我不明白它是如何工作的。
从这里也找到的解释中,我得到了如下的大图(如果我错了,请纠正我):
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
-- .......
Run Code Online (Sandbox Code Playgroud)
规则:只有合适的 UserId 才能访问购物车
"rules": {
"shoppingCart" {
"$userUid": {
".read": "auth.uid == $userUid"
}
}
}
Run Code Online (Sandbox Code Playgroud)
AuthCredential然后检索然后linkWithCredential调用。例如,用户比使用新的 userUIDREGISTERED-USER-UID问题是,每当客户端代码查询shoppingCart/REGISTERED-USER-UID时,它都会检索shoppingCart/ANONYM-USER-UID? 规则会允许吗?
如果应用更复杂的规则会怎样,例如,规则变为 -只有适当的 UserId 可以访问购物车,但 userUid 不能在 blackList child 中。
"rules": {
"shoppingCart" {
"$userUid": {
".read": "auth.uid == $userUid && root.child('blackList').child($userUid).val() == false"
}
}
}
Run Code Online (Sandbox Code Playgroud)
有了这样的逻辑限制,它会成功返回列表吗?
我认为您对匿名用户登录的流程有点困惑,然后将其与新的身份验证凭据链接。这是我所经历的。
当用户以匿名身份登录时,系统会分配一个唯一的 ID。现在,当用户决定使用一些新的身份验证凭据进行注册时,所有发生的事情就是匿名登录时生成的先前 UID 被分配或 链接到这些新凭据。
所以实际上并没有创建新的 UID,你很高兴。
如果此信息有帮助,请告诉我。
| 归档时间: |
|
| 查看次数: |
693 次 |
| 最近记录: |