You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python云函数Firebase Admin验证ID Token时出现HTTPResponse无strict属性错误

解决Firebase Auth验证时出现'HTTPResponse' object has no attribute 'strict'错误

问题场景

我基于Python 3.9开发了一个Cloud Function,用于验证Firebase ID Token和App Check Token,代码如下:

firebase_admin.initialize_app()


def check_token(token, app_check_token):
    """
    :param app_check_token:
    :param token:
    :return:
    """
    try:
        app_token = app_check.verify_token(app_check_token)
        logging.info(f"App check token verified : {app_token}")
    except Exception as e:
        logging.error(f"Exception while decoding app check token : {e}")
    try:
        decoded_token = auth.verify_id_token(token)
        logging.info(f"verified token : {decoded_token}")
        if "uid" in decoded_token:
            return decoded_token["uid"]
        return ""
    except Exception as e:
        logging.error(f"check_token : {e}")
        return ""

传入有效Firebase ID Token调用该函数时,Cloud Logging抛出错误:

ERROR:root:check_token : 'HTTPResponse' object has no attribute 'strict'

补充信息:我共有10个同代码的云函数,仅这一个出问题;本地用functions-framework --target function_name --debug --port=8080运行完全正常。

错误本质

这个错误是依赖版本冲突引发的:Firebase Admin SDK依赖的requests或urllib3库,与Cloud Function环境中预装的其他库版本不兼容。strict是旧版urllib3中HTTPResponse的属性,新版已移除,但代码逻辑仍尝试访问该属性,导致抛出异常。

排查修复步骤

  • 锁定依赖版本:在requirements.txt中明确指定兼容的依赖版本,避免环境自动拉取最新版导致冲突。示例:
    firebase-admin==6.2.0
    requests==2.31.0
    urllib3==2.0.7
    
    版本选择需确保三者相互兼容,可参考Firebase Admin SDK的依赖说明。
  • 检查部署配置:确认该云函数的运行环境(如Python版本、运行时)与其他正常函数一致,排查是否存在环境变量或依赖注入的差异。
  • 清理后重新部署:删除当前有问题的云函数,清理部署缓存后重新部署,确保依赖完全按requirements.txt安装,避免旧依赖残留。
  • 显式初始化Firebase App:将隐式初始化改为显式初始化,避免环境差异导致的初始化异常:
    import firebase_admin
    from firebase_admin import credentials, auth, app_check
    
    cred = credentials.ApplicationDefault()
    firebase_admin.initialize_app(cred)
    

内容的提问来源于stack exchange,提问作者Tom3652

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 18:22:50