【问题标题】:How to send refreshToken and token both in nuxt auth module?如何在 nuxt auth 模块中发送 refreshToken 和 token?
【发布时间】:2021-08-07 15:31:24
【问题描述】:

这是我的配置:

auth: {
    plugins: ['~/plugins/auth.js'],
    strategies: {
      local: {
        scheme: 'refresh',
        token: {
          property: 'jwtToken',
        },
        refreshToken: {
          property: 'refreshToken',
          data: 'refreshToken',
        },
        user: false,
        endpoints: {
          login: { url: '/api/account/authenticate', method: 'post' },
          logout: { url: '/api/account/logout', method: 'post' },
          mPassLogout: { url: '/api/account/init-mpass-logout', method: 'get' },
          refresh: {
            url: '/api/account/refresh-token',
            method: 'post',
            data: {
              test: 123,
            },
          },
          user: false,
        },
      },
    },
  },

在刷新端点对象中,我想在数据对象中发送 refreshToken 和令牌,我该如何实现呢?我无法修改后端 api。文档说端点只是扩展了 axios 选项,但是我如何访问这些数据中的 refreshToken 和令牌?同样在请求之后,我需要设置新的刷新和 jwtToken。

【问题讨论】:

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


    【解决方案1】:

    我已经创建了一个插件

    export default function (app) {
      app.$axios.onRequest((configs) => {
        if (configs.url === 'yourUrlOnRefresh') {
          const bearerToken = app.$auth.strategy.token.get()
          if (bearerToken) {
            const jwtToken = bearerToken.split(' ')[1]
            configs.data.token = jwtToken
          }
        }
      })
    }
    
    

    【讨论】:

      猜你喜欢
      • 2021-09-29
      • 1970-01-01
      • 2021-02-01
      • 2021-01-19
      • 2020-06-07
      • 2021-01-23
      • 2019-05-10
      • 2021-07-22
      • 1970-01-01
      相关资源
      最近更新 更多