Firebase 函数无法验证 AppCheck 令牌,即使刚刚更新,声明也已过时

问题描述

我刚刚为我的 iOS 应用和 Firebase Cloud Functions 启用了 AppCheck。在 Firebase 函数日志中,当我尝试 HTTPS 调用函数时收到此消息:

Failed to validate AppCheck token. Error: Cannot validate AppCheck token. Please update Firebase Admin SDK to >= v9.8.0
at checkTokens (/workspace/node_modules/firebase-functions/lib/providers/https.js:255:23)
at func (/workspace/node_modules/firebase-functions/lib/providers/https.js:323:39)
at /workspace/node_modules/firebase-functions/lib/providers/https.js:356:44
at cors (/workspace/node_modules/cors/lib/index.js:188:7)
at /workspace/node_modules/cors/lib/index.js:224:17
at originCallback (/workspace/node_modules/cors/lib/index.js:214:15)
at /workspace/node_modules/cors/lib/index.js:219:13
at optionsCallback (/workspace/node_modules/cors/lib/index.js:199:9)
at corsMiddleware (/workspace/node_modules/cors/lib/index.js:204:7)
at corsFunc (/workspace/node_modules/firebase-functions/lib/providers/https.js:356:16)


Callable request verification Failed: AppCheck token was rejected. {"verifications":{"app":"INVALID","auth":"VALID"}}

但是,我已经使用 npm 命令更新了 Admin SDK,并多次部署了我的函数和整个 firebase 文件夹。 Admin SDK seems up to date.

这是我的 Firebase 函数的 Typescript 文件顶部的样子:

import * as functions from 'firebase-functions';
import * as admin from "firebase-admin";
import QuerySnapshot = admin.firestore.QuerySnapshot;
import { QueryDocumentSnapshot } from "firebase-functions/lib/providers/firestore";

是否有什么我没有做才能使更新后的 Admin SDK 生效?

解决方法

答案是我没有在函数子文件夹中运行更新命令,而是在我的主 firebase 文件夹中运行。

,

您是否使用 --save 标志运行了该安装命令?如果你这样做了,你应该在 package.json 中看到更新的版本。这可能是我们所缺少的。

source

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...