本地localhost使用Firebase模拟器时Web+Functions+App Check认证错误
问题根因
{"verifications":{"app":"VALID","auth":"MISSING"},"logging.googleapis.com/labels":{"firebase-log-type":"callable-request-verification"},"severity":"INFO","message":"Callable request verification passed"}
你看到的日志中的两个验证字段相互独立,不存在关联:
app: VALID对应App Check验证结果,该状态说明你配置的App Check、reCaptcha、调试令牌全部生效,验证已通过auth: MISSING和App Check完全无关,是指本次调用onCall函数的前端客户端未携带有效的Firebase Auth用户身份令牌,即调用时用户未完成Firebase Auth登录
日志末尾的Callable request verification passed说明你当前配置的强制验证规则已全部满足,该日志是正常INFO级通知,不属于错误提示。
App Check与Functions模拟器的兼容性
App Check完全支持搭配Functions本地模拟器使用,你日志中的app: VALID已经证明本地环境的App Check验证逻辑运行正常,和生产环境表现一致,不存在兼容问题。
可选处理方案
- 若你的onCall函数本身允许未登录用户调用,
auth: MISSING属于正常状态,无需额外处理,不影响功能运行 - 若你的onCall函数要求用户登录后才可调用,只需在前端触发函数调用前,先完成Firebase Auth用户登录流程,客户端会自动携带身份令牌发起请求,即可消除
auth: MISSING提示
内容的提问来源于stack exchange,提问作者Yuri Drabik
相关产品推荐
相关产品推荐

