Firebase身份验证:“HTTPResponse”对象没有属性“strict”,状态:误差

gab6jxml  于 2023-05-07  发布在  其他
关注(0)|答案(3)|浏览(140)

我有点困惑,为什么这段代码在正常工作了一周后突然决定失败。

import firebase_admin
from firebase_admin import firestore, credentials,db, auth

    def userIsLoggedIn(self,id_token: str) -> bool:
        try:
            decoded_token = auth.verify_id_token(id_token)
            self.uid = decoded_token['uid']
        except Exception as e:
            return False,str(e)       
        
        return True,""

返回的错误消息为:'HTTPResponse'对象没有属性'strict',我只能在我的云服务器上测试时复制此错误,而不是localhost。
我查看了堆栈跟踪,发现是auth.verify_id_token函数导致了问题,具体来说是:

ile "/usr/local/lib/python3.11/site-packages/cachecontrol/serialize.py", line 54, in dumps
2023-05-04T16:11:04.767062340Z u"strict": response.strict,
2023-05-04T16:11:04.767067540Z ^^^^^^^^^^^^^^^
2023-05-04T16:11:04.767072540Z AttributeError: 'HTTPResponse' object has no attribute 'strict'

编辑:

好吧,下面帕特里克给我指了一个链接,告诉我:
“这似乎是缓存控制与新版本的URLIB3 2.0不兼容。strict不再是HTTPResponse类支持的参数。就目前而言,你可能需要固定到旧版本的URLIB3,或者与Cachecontrol团队合作,更新他们的使用情况。”
我得看看我现在能做些什么。例如,使用urllib3 2.0.0作为帕特里克建议的解决方案。

aelbi1ox

aelbi1ox1#

看起来你正在打这个bug:
https://github.com/ionrock/cachecontrol/issues/292
到目前为止还没有发布修复程序。
根据https://urllib3.readthedocs.io/en/stable/changelog.html#deprecated的更新日志,使用1.26.15“修复”了这个问题。[编辑:说尝试使用urllib3 2.0.0作为解决方案,但没有工作。

w1e3prcc

w1e3prcc2#

我在运行poetry install时遇到了同样的错误,可能是由于同样的根本原因。这对OP没有帮助,但如果其他人因为同样的原因找到这篇文章,我可以通过从诗歌1.1.14升级到1.3.2来解决它。

ff29svar

ff29svar3#

我在为Django项目构建Docker镜像时遇到了同样的问题。我的故事发生在本地和数字海洋上。我只是简单地将我安装的诗歌版本从1.1.8更改为1.4.2,问题就消失了。

相关问题