【问题标题】:Set token in Nuxt auth-module在 Nuxt auth-module 中设置令牌
【发布时间】:2021-09-11 16:18:24
【问题描述】:

我在我的项目中使用Nuxt auth-module。 login API 以这种结构返回数据:

data:{
    data:{
        user:{
        bio: null
        createdAt: "2021-06-29T12:28:42.442Z"
        email: "name@info.co"
        id: 1
        image: null
        token: "token"
        updatedAt: "2021-06-29T12:28:42.447Z"
        username: "name"
        }
     }
} 

在 nuxtconfig 中我设置了这样的模块配置:

  auth: {
    strategies: {
      local: {
        endpoints: {
          login: { url: 'users/login', method: 'post', propertyName: 'data.user.token' },
          user: { url: 'me', method: 'get', propertyName: 'data' },
          logout: false
        }
      }
    }
  },

但令牌没有保存在应用程序中。有什么解决办法吗?

所以我找到了解决方案:

  auth: {
    strategies: {
      local: {
        token: {
          property: 'user.token', // /user endpoint API returns user object
          type: 'Token' // if your token type is not Bearer
        },
        user: {
          user: 'user'
        },
        endpoints: {
          login: { url: '/users/login', method: 'post' },
          user: { url: '/user', method: 'get' },
          logout: false
        }
      }
    }
  },

【问题讨论】:

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


    【解决方案1】:

    结构是 data.data.user 而不是 data.user,因此 IMO 您需要使用类似这样的配置来指定它

    auth: {
      strategies: {
        local: {
          user: {
            property: 'data.user', // or maybe 'data.data.user'
            // autoFetch: true
          },
        }
      }
    }
    

    documentation 中所述。

    【讨论】:

      猜你喜欢
      • 2021-10-22
      • 2022-01-26
      • 2021-12-20
      • 2021-05-25
      • 1970-01-01
      • 2020-01-28
      • 2021-07-10
      • 1970-01-01
      • 2021-09-06
      相关资源
      最近更新 更多