Firebase应该在我的用户id结构中包含单词“;simplelogin”;
Firebase should my user id structure include the words "simplelogin"?
当我使用简单登录并使用authData.uid
登录时,我会得到simplelogin:1
的返回(1是我的用户id。
我的用户结构是这样设置的:
{
"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。
相关文章:
- 如何在Symfony2中的表单小部件中包含javascript
- 循环遍历包含另一个表单的表单
- HTML提交表单,同时包含空字段检查和按钮隐藏
- 需要一个用于AJAX的Javascript库,其中包含多部分/表单数据
- 如何进行AJAX调用,使其仅在我单击包含在特定类中的链接时触发;id”;父元素的
- 包含特定条款的自动填写表单
- 在 Javascript 中拆分包含单次出现(不是两次)分隔符的字符串
- 如何使用 jQuery 触发对包含许多列表项的列表的单击
- 从包含表单的对象中提取值
- 单击包含按钮的最后一列时获取表的第一列值
- 从包含ng的字段中获取表单数据,而无需使用ng模型
- DataTable如何防止在包含超链接的列中单击行
- 获取包含单击链接的DIV的文本
- 当字符串中包含单引号时,如何在 javascript 中将字符串分配给变量
- 无法分析包含单引号的 JSON 数据
- 使用包含单引号的字符串作为内联 HTML 中的 Javascript 参数
- 打开一个模式对话框,其中包含单击表格单元格时的动态数据
- 如何在超链接上调用javascript警报's点击,里面有一条包含单引号的消息
- 在javascript中插入一个包含单引号的值
- 如何在javascript中转义包含单引号的另一个字符串中的单引号