我有点困惑,为什么这段代码在正常工作了一周后突然决定失败。
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作为帕特里克建议的解决方案。
3条答案
按热度按时间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作为解决方案,但没有工作。
w1e3prcc2#
我在运行
poetry install
时遇到了同样的错误,可能是由于同样的根本原因。这对OP没有帮助,但如果其他人因为同样的原因找到这篇文章,我可以通过从诗歌1.1.14升级到1.3.2来解决它。ff29svar3#
我在为Django项目构建Docker镜像时遇到了同样的问题。我的故事发生在本地和数字海洋上。我只是简单地将我安装的诗歌版本从1.1.8更改为1.4.2,问题就消失了。