gpt4 book ai didi

python - 过期的 firebase 身份验证 token 的异常处理

转载 作者:行者123 更新时间:2023-12-05 05:45:01 26 4
gpt4 key购买 nike

我有一个 python flask 应用程序,它使用 pyrebase4 链接到 firebase 实时数据库。我想创建一个 try/except block 来捕获与尝试访问数据记录的未授权或过期访问 token 有关的异常。我已尝试实现以下内容:

    import from urllib.error import HTTPError
from flask import jsonify

# Fetch task from db using access token.
try:
data = db.child("tasks").child(task["id"]).get(accessToken)
return jsonify(data.val()), 200
except HTTPError as e:
return jsonify({"msg": f"Authorisation error:{e}"}), 400

使用过期 token 测试 block 时,出现以下错误:

...raise HTTPError(http_error_msg, response=self)requests.exceptions.HTTPError: 401 Client Error: Unauthorized for url: URL

During handling of the above exception, another exception occurred:

...raise HTTPError(e, request_object.text)requests.exceptions.HTTPError: [Errno 401 Client Error: Unauthorized for url: URL] {"error" : "Auth token is expired"}

两个错误都引用了以下行:data = db.child("tasks").child(task["id"]).get(accessToken)

这里到底发生了什么,我将如何在异常中处理这个异常?

最佳答案

您可能从不同于 pyrebase4 包使用的库中导入“HTTPError”。检查您是否从正确的库中导入错误。例如

from requests.exceptions import HTTPError

不是

from urllib.error import HTTPError

关于python - 过期的 firebase 身份验证 token 的异常处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71487751/

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