我试图在 Firebase Auth 后面隐藏我在 NextJS 中的路线之一。我在上下文中存储令牌并在 getServerSideProps 中检索令牌。这在开发中有效,但一旦部署到 Vercel 就会失败。 我在登录后看到 cookie 存在,但 try 块失败。
我想知道这是否是生产环境中的竞争条件,但我使用的是异步等待。
这是失败的集团。
export async function getServerSideProps(context) {
//console.log(context)
try {
const cookies = nookies.get(context);
//const cookies = Cookies.get(context);
const token = await verifyIdToken(cookies.token);
const {uid, email} = token;
//console.log("Token in vendors: ", token);
return {
props: {
session: `Email: ${email} IUD: ${uid}`
}
}
} catch (err) {
context.res.writeHead(302, {location: "/"}); //login //change to welcome page
context.res.end();
return (
{ props: [] }
)
}
}
我正在使用 nookies,我什至尝试按照某人的建议切换到 cookie-js。 任何帮助将不胜感激。
这里是回购: https://github.com/craigbauerwebdev/next-tartanbook
令牌设置在这里: https://github.com/craigbauerwebdev/next-tartanbook/blob/master/components/Auth/Auth.js
正在此处检索令牌: https://github.com/craigbauerwebdev/next-tartanbook/blob/master/pages/vendors/index.js