Next JS getServerSideProps 在 Vercel 中获取令牌时尝试块失败

时间:2021-04-03 22:21:55

标签: javascript firebase-authentication next.js getserversideprops

我试图在 Firebase Auth 后面隐藏我在 NextJS 中的路线之一。我在上下文中存储令牌并在 getServerSideProps 中检索令牌。这在开发中有效,但一旦部署到 Vercel 就会失败。 我在登录后看到 cookie 存在,但 try 块失败。

enter image description here

我想知道这是否是生产环境中的竞争条件,但我使用的是异步等待。

这是失败的集团。

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

0 个答案:

没有答案