Nuxtjs:如何将 HttpOnly Cookies 用于 Nuxt-Auth 策略

Fun*_*ter 6 javascript vue.js nuxt.js nuxt-auth

我之前在 Vuejs 工作过,并决定研究一下 NuxtJs。在我以前的应用程序中,我的服务器发送了一个客户端无法读取的 HttpOnly cookie。因此,对于身份验证,我尝试了 NuxtAuth,它有一些策略,我注意到不可能使用 HttpOnly cookie 作为策略。我认为这是SSR的局限性。但是有没有办法在 NuxtJs 中使用 HttpOnly Cookies?我的解决方案是仅在我拥有 cookie 的客户端上运行 API 请求。这似乎有效,但我认为这可能不是理想的解决方案。

那么,我如何在 nuxt.config 中为 dev 和 prod env 设置 axios?当我使用 baseURL 属性时,我总是得到 cors,所以我尝试了有效的代理,但 cookie 被拒绝并显示以下消息:cookie“access_token_cookie”由于域权限无效而被拒绝。我认为这是因为代理是 dev 中的本地主机,对吗?有解决办法吗?

那么我有什么想法可以在 Nuxt 中实现 HttpOnly 身份验证吗?

Meh*_*vis 2


您可以轻松地将httpOnlycookie 选项设置为true

auth: {
  cookie: {
    options: {
      httpOnly: true
    },
  },
}
Run Code Online (Sandbox Code Playgroud)

我建议您检查环境仅true在生产环境中。因为如果设置为falseondevelopment,token cookie是不可访问的!你可以这样写:

httpOnly: process.env.NODE_ENV === 'production'
Run Code Online (Sandbox Code Playgroud)

nuxt auth文档中,没有提到这个选项!但它对我有用:)