将 Nuxt-Auth 与 Cookie 结合使用

问题描述

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

我需要使用 Cookies 的原因是因为我计划将 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 的调用不起作用:

FineMyCookie Chrome Plugin

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

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

谢谢

解决方法

想通了。我必须在令牌配置中设置 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" },

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...