问题描述
我试图在 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
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)