gpt4 book ai didi

android - linkWithCredential 是如何工作的?它如何与规则一起使用?

转载 作者:行者123 更新时间:2023-11-29 15:41:19 25 4
gpt4 key购买 nike

我找到了这个 documentation这解释了如何将匿名用户与新注册用户联系起来,但我不明白它是如何工作的。

从解释中还发现here ,我得到了如下大图(如有错误请指正):

  1. 匿名用户登录:得到 userUid(仅作为示例)ANONYM-USER-UID
  2. 用户然后将数据添加到购物车,如下所示:

数据

-- shoppingCart
-- ANONYM-USER-UID
-- <push-id>
-- itemUid: <item-uid>
-- count: 2
-- <push-id>
-- itemUid: <other-item-uid>
-- count: 1
-- OTHER-USER-UID
-- .......

with rule: 只有合适的UserId才能访问购物车

"rules": {
"shoppingCart" {
"$userUid": {
".read": "auth.uid == $userUid"
}
}
}
  1. 在结帐之前,用户“强制”注册/或登录,然后检索 AuthCredential 然后调用 linkWithCredential。用户比使用新的 userUID 例如 REGISTERED-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"
}
}
}

有这样的逻辑限制,它会成功返回列表吗?

最佳答案

我认为您对匿名用户登录然后将其与新的 Auth Credentials 链接的流程有些困惑。这是我所经历的。

当用户以匿名身份登录时,系统会分配一个唯一的 ID。现在,当用户决定使用一些新的身份验证凭据进行注册时,那么所有发生的事情都是之前生成的 UID匿名登录的时间被分配或 链接那些新凭据。

所以实际上没有创建新的 UID,您可以开始了。

如果此信息有帮助,请告诉我。

关于android - linkWithCredential 是如何工作的?它如何与规则一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39813427/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com