gpt4 book ai didi

ios - 在 Firebase 中使用访问代码的模式

转载 作者:行者123 更新时间:2023-11-28 12:29:21 27 4
gpt4 key购买 nike

我目前正在为我的应用程序使用 Firebase,我想让我的应用程序的某些部分不仅需要用户授权,而且还是私有(private)的,并要求用户输入访问代码才能进入。

我已经获得了与几个不同的提供商和匿名身份验证一起使用的授权部分。我的问题是,上述功能是否已经存在适当的模式?或者我是否需要编写单独的 Web 服务来处理此要求?

最佳答案

如果您想为您的数据库增加安全性,您最好查看有关 security rules 的 Firebase 文档

数据库控制台规则下,您会找到为数据库添加安全性的部分。基本上它是一个像这样的 JSON 对象:

{
"rules": {
".read": "auth != null",
".write": "auth != null"
}
}

在上面的示例中,我只是声明要读取和写入完整的数据库,应该有一个登录用户。

以同样的方式,我建议您阅读文档的 auth 部分以及如何实现它 here .

已编辑

因为上面的例子不够清楚,所以我在我的 Firebase 数据库中做了另一个。在这个例子中,我有一个路径 https://*****.firebaseio.com/users。在下面的示例中,您可以看到我将 true 分配给了 .read 属性,将 auth != null 分配给了 .write 属性,这意味着任何人都可以读取此路径,但只有经过身份验证的用户才能在此路径中写入。

{
"rules": {
"users":{
".read": "true",
".write": "auth != null"
}
}
}

使用 Firebase 模拟器,您可以看到在您未通过身份验证时读取已启用。 enter image description here

但是如果我想在不验证自己的情况下编写,我就会出错。 enter image description here

现在,如果我在模拟器中使用身份验证,我就可以执行写入操作。 enter image description here

编辑版本 2“访问 token ”

好的,我明白你的意思了。我假设您要将此“访问代码”存储在您的 Firebase 数据库中的某个位置。如果您想验证数据库中的数据以允许读取或写入,您可以按照文档中的说明进行操作 here .

{
"rules": {
"users": {
".read": "root.child('access_token').child(auth.uid).exists()"
}
}
}

在上面的示例中,我在数据库中有一个名为 access_token 的路径,在这个路径中我存储了一个 key 对 user_uid-accessToken,然后使用 root 属性创建一个查询以验证您是否在此路径中具有经过身份验证的用户的值。我使用的是 exists(),但您可以使用许多其他方法来进行此验证。例如,如果访问代码是硬编码的,那么您可以使用 val() 方法来比较精确值。

关于ios - 在 Firebase 中使用访问代码的模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42517710/

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