首页 > 解决方案 > 使用 Zeit Now 在云功能上使用 Firebase 身份验证时出错

问题描述

我现在正在使用 Nextjs 并使用 Zeit 部署它。

我正在尝试使用 Firebase 身份验证来实现会话管理,而我正在尝试做的是根据用户的请求设置 cookie。我有以下功能:

import { NextApiRequest, NextApiResponse } from 'next';
// Initializing firebase admin
import admin from '../../helpers/firebase/init';
const db = admin.firestore();
const handler = async (req: NextApiRequest, res: NextApiResponse) => {
  try {
    // ...
    const sessionCookieRxpiresIn = 60 * 60 * 24 * 5 * 1000;
    const sessionCookie = await admin
      .auth()
      .createSessionCookie(idToken, { expiresIn: sessionCookieRxpiresIn });
    res.setHeader(
      'Set-Cookie',
      `session=${sessionCookie};Max-Age=${sessionCookieRxpiresIn};HttpOnly;Path=/`,
    );
    res.status(200).json({
      success: true,
    });
  } catch (error) {
    // ...
  }
};
export default handler;

此函数在本地与 一起工作得很好now dev,但是当我将它部署到现在时,我在调用此函数后看到以下错误ENOENT: no such file or directory, open 'google/protobuf/api.proto'

我没有在互联网上找到任何有价值的建议来帮助我处理这个问题。有什么建议吗?

标签: firebasefirebase-authenticationgoogle-cloud-functionsnext.jsvercel

解决方案


推荐阅读