Javascript Firebase我的用户id结构是否应包含“用户id”字样;simplelogin;?

Javascript Firebase我的用户id结构是否应包含“用户id”字样;simplelogin;?,javascript,jquery,authentication,firebase,Javascript,Jquery,Authentication,Firebase,当我使用simple login登录并使用authData.uid时,我会返回simplelogin:1(其中1是我的用户id) 我的用户结构设置如下: { "users": { "1": { ... }, "2": { ... } } } { "rules": { "users": { "$userid": { ".read": "auth.uid == $userid", ".w

当我使用simple login登录并使用
authData.uid
时,我会返回
simplelogin:1
(其中1是我的用户id)

我的用户结构设置如下:

{
    "users":
    {
        "1": { ... },
        "2": { ... }
    }
}
{
  "rules": {
    "users": {
      "$userid": {
        ".read": "auth.uid == $userid",
        ".write": "auth.uid == $userid"
      }
    }
  }
}
我的规则是这样制定的:

{
    "users":
    {
        "1": { ... },
        "2": { ... }
    }
}
{
  "rules": {
    "users": {
      "$userid": {
        ".read": "auth.uid == $userid",
        ".write": "auth.uid == $userid"
      }
    }
  }
}
因此,我有点困惑,如何使它成为
/users/1
可以工作的。是否每个人都会在那里创建用户结构
“simplelogin:1”
,而不是
“1”

这是说我没有权限查看我的用户,因为我的
$userid
“simplelogin:1”
,而不是
“1”


有人知道我如何解决这个问题吗?

在上面的示例中,唯一的跨提供商用户id是
simplelogin:1
,而不仅仅是
1
。仅使用整数是有问题的,因为这些用户id在所有提供商(Twitter、Facebook、Google、GitHub等)中都不是唯一的,并且可能会发生冲突


根据设计,用户ID应包括用户身份验证方式的前缀。还请注意,这些用户ID的格式可能会在将来发生变化,因此不建议您尝试解析它们或将其视为人类可读的。它们仅用于Firebase的唯一字母数字ID。

I使用
auth.uid
作为节点名,这样就可以转换为
simplelogin:1
。这只在使用多种登录方法时才重要,我会这样做。如果您知道您只使用简单登录,只使用id也可以。您希望修复什么?感谢您提供的信息。这很有意义。