我是否需要在 firebase 云函数中的 context.auth 对象上使用 verifyIdToken ?

tem*_*ame 1 firebase firebase-authentication google-cloud-functions

使用可调用函数,我的目的是只允许登录用户调用它。

export const sendMessage = functions.https.onCall(async (data, context) => {
Run Code Online (Sandbox Code Playgroud)

context那里的参数中,我得到了身份验证令牌。但总的来说,我对 Firebase 还很陌生,我不想因为这里的误解而犯下严重错误。如果我注销了,context.auth就变成空——很容易。但我是否需要确保身份验证令牌是有效的,而不是通过调用“编造”verifyIdToken的?

如果不是,那么是否只是检查是否context.auth为 null 足以确保用户已登录?

Dou*_*son 5

但我是否需要通过调用 verifyIdToken 来确保身份验证令牌有效,而不是“伪造”的?

不,这会自动发生。如果不为空,您可以确定已context.auth验证。如文档中所述:

function.https.onCall 触发器自动反序列化请求正文并验证身份验证令牌。