gpt4 book ai didi

authentication - Nuxt auth SSR cookie 仅在关闭浏览器和加载页面时出现问题

转载 作者:行者123 更新时间:2023-12-05 02:49:49 27 4
gpt4 key购买 nike

我使用 nuxt 和 nuxt-auth-next,后端是 laravel api。
当我完全关闭浏览器并加载页面时,nuxt 无法在 server-side 上读取 cookie,并且无法理解我已登录,而在 client-side 它理解我有 cookie,所以我的 server-sideclient-side 会根据用户登录加载一些组件,然后,很明显,这会有所不同发生:

[Vue warn]: The client-side rendered virtual DOM tree is not matching server-rendered content. This is likely caused by incorrect HTML markup, for example nesting block-level elements inside <p>, or missing <tbody>. Bailing hydration and performing full client-side render.

现在当我刷新这个页面时。问题会消失,一切都会好起来的。

我还检查了第一次加载时 server-side 上的 cookie 是否可用:

 if (process.client) {
console.log('cookie = ', this.$cookies.get('auth._token.laravelJWT'));
} else {
console.log('cookie = ', this.$cookies.get('auth._token.laravelJWT'));
}

控制台的结果是这样的:

Nuxt SSR
cookie = undefined

Client:
cookie = Bearer blablabla

最佳答案

很可能您的 cookie 设置为session-only(nuxt auth 模块的默认设置),这解释了为什么您在关闭浏览器后会遇到问题。要修复它,请给他们一个到期日期,这样服务器就会明白这是一个经过身份验证的用户。

要在 8 天后过期,您的 nuxt.config.js 应该如下所示:

export default {
ssr: true,
...
auth: {
cookie: {
options: {
expires: 8
}
},
...
},
}

关于authentication - Nuxt auth SSR cookie 仅在关闭浏览器和加载页面时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63902823/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com