【问题标题】:Using Nuxt-Auth with Cookie将 Nuxt-Auth 与 Cookie 一起使用
【发布时间】:2021-05-17 21:42:44
【问题描述】:

我正在尝试让 Nuxt.js 使用 cookie 身份验证。我正在使用带有 cookie 设置的 nuxt-auth。带有 Passport 的 Laravel 后端。

我需要使用 Cookie 的原因是因为我计划将 nuxt 项目放在我的主域名上(需要登录名),然后将 app.mydomainname.com 用于实际应用程序。主网站也有使用身份验证的面向公众的页面。

这是我为 nuxt-auth 配置的 nuxt.js:

  auth: {
    local: false,
    redirect: {
      login: "/login",
      logout: "/login",
      callback: "/login",
      home: false,
    },
    strategies: {
      cookie: {
        token: {
          property: "data.access_token",
        },
        user: {
          property: "data",
        },
        endpoints: {
          login: {
            url: "v1/auth/login",
            method: "post",
            propertyName: "access_token",
          },
          logout: { url: "/v1/auth/logout", method: "delete" },
          user: { url: "/v1/settings", method: "get" },
        },
      },
    },
  },

登录工作正常,但是当我查看我的 editthiscookie chrome 插件时,cookie 没有设置,因此对 /settings 的调用不起作用:

如您所见,cookie 只是设置为 true 而不是访问令牌。

任何有关配置的帮助都会有所帮助。

谢谢

【问题讨论】:

  • 您能指定您使用的是哪个版本:@nuxtjs/auth (v4) 还是 @nuxtjs/auth-next (v5) ?

标签: vue.js nuxt.js nuxt-auth


【解决方案1】:

想通了。我必须在令牌配置中设置 required: truetype: "Bearer"

所以现在看起来像这样:

auth: {
    redirect: {
      login: "/login",
      logout: "/login",
      callback: "/login",
      home: false,
    },
    strategies: {
      local: false,
      cookie: {
        token: {
          property: "data.access_token",
          required: true,
          type: "Bearer",
        },
        user: {
          property: "data",
        },
        endpoints: {
          login: {
            url: "v1/auth/login",
            method: "post",
          },
          logout: { url: "/v1/auth/logout", method: "delete" },
          user: { url: "/v1/settings", method: "get" },
        },
      },
    },
  },

【讨论】:

    猜你喜欢
    • 2019-10-08
    • 2020-06-11
    • 2011-04-01
    • 2011-09-03
    • 2018-02-01
    • 2016-02-14
    • 1970-01-01
    • 2021-09-23
    • 2022-01-15
    相关资源
    最近更新 更多