【问题标题】:Error when uploading into firebase database, unauthorized request上传到firebase数据库时出错,未经授权的请求
【发布时间】:2017-09-20 22:18:29
【问题描述】:

我目前正在开发我的应用程序,并且正在我的 firebase 数据库上上传许多信息。我的算法会自动写入我的 firebase 数据库,有时,在写入 2,000 次之后(有时更少有时更多),我会出现此错误。我知道它可能与身份验证规则有关,但我不知道 该怎么办。

Traceback (most recent call last):
  File "top1000.py", line 168, in <module>
    db.child("Artistes")....:""})
  File "/usr/local/lib/python2.7/dist-packages/pyrebase/pyrebase.py", line 301, in set
    raise_detailed_error(request_object)
  File "/usr/local/lib/python2.7/dist-packages/pyrebase/pyrebase.py", line 448, in raise_detailed_error
    raise HTTPError(e, request_object.text)
requests.exceptions.HTTPError: [Errno 401 Client Error: Unauthorized for url: https://silent-fuze-...] {
  "error" : "Unauthorized request."
}

我想以管理员身份写入我的数据库。这是我的主要算法中的代码。

config = {
    "apiKey": "...",
    "authDomain": "...",
    "databaseURL": "...",
    "projectId": "...",
    "storageBucket": "...",
    "messagingSenderId": "...",
    "serviceAccount": "clef.json"
}

firebase = pyrebase.initialize_app(config)
db = firebase.database()

这是我的 Firebase 规则之一。

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

【问题讨论】:

    标签: python database firebase firebase-realtime-database


    【解决方案1】:

    您正在使用:

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

    它允许对您的应用的经过身份验证的用户进行完全读写访问。
    这意味着如果用户未通过身份验证,他将无法访问数据,这就是您的错误的原因。
    您尝试在未经身份验证的情况下访问。

    您可以使用Firebase Authentication 让用户登录您的应用

    更多关于安全的信息here

    【讨论】:

    • 但是我不是通过使用 API 密钥(我的“配置”中的数据库 url)来获得身份验证吗?
    • @FlorianBiorolleau 当客户端尝试读取和写入数据时,您必须对请求进行身份验证,因为您已在规则中要求它。 API KEY 不是验证用户的密钥,只是用来配置你的项目
    • 好的,但你说我需要配置用户才能登录我的应用程序。我的 UI 开发人员会处理这个问题。现在我只需要验证自己才能写入我的数据库。我必须在我的代码中输入什么?
    • 您可以使用测试用户/密码 (firebase.google.com/docs/auth/android/password-auth) 进行身份验证,或者只需设置规则以在您的开发环境中授予公共访问权限。 (“.read”:真,“.write”:真)
    • 当我设置这些规则时(“.read”:true,“.write”:true),我仍然有同样的错误......
    猜你喜欢
    • 2019-09-20
    • 2021-05-12
    • 1970-01-01
    • 1970-01-01
    • 2017-11-21
    • 1970-01-01
    • 1970-01-01
    • 2021-03-11
    • 1970-01-01
    相关资源
    最近更新 更多