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

Firebase App Check集成报错:ID Token的aud声明不匹配问题

问题排查与解决

核心错误原因

你后端误用了Firebase Auth的auth.verify_id_token()方法验证App Check Token。App Check Token的aud(受众)声明是包含项目编号和项目ID的数组,而Auth的ID Token验证方法仅接受单一的项目ID值,这直接导致了不匹配错误。

修正后的后端验证代码

替换原有验证逻辑,使用Firebase Admin SDK中专门用于App Check Token的verify_token方法:

import firebase_admin
from firebase_admin import credentials, app_check

cred = credentials.Certificate("serviceaccountkey.json")
firebase_admin.initialize_app(cred)

def lambda_handler(event, context):
    print(event)
    app_check_token = event['headers'].get('x-firebase-appcheck', 'abc')
    try:
        # 使用App Check专属的Token验证方法
        decoded_token = app_check.verify_token(app_check_token)
        response = handle_request(event)
    except (ValueError, jwt.exceptions.DecodeError) as e:
        response = {
            'statusCode': 401,
            'body': 'Unauthorized'
        }
        print(e)
        print(response)
    return response

额外排查点

  • 确认serviceaccountkey.json属于当前Firebase项目,且关联的服务账号拥有Firebase App Check Admin权限
  • 检查客户端请求中传递的确实是App Check Token,而非Firebase Auth的ID Token
  • 升级Firebase Admin SDK到最新版本,旧版本可能存在验证逻辑的兼容性问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 13:52:35