问题描述
这是我的配置:
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',mPasslogout: { url: '/api/account/init-mpass-logout',method: 'get' },refresh: {
url: '/api/account/refresh-token',method: 'post',data: {
test: 123,
在刷新端点对象中,我想在数据对象中发送 refreshToken 和令牌,我该如何实现?我无法修改后端 api。文档说端点只是扩展了 axios 选项,但是如何访问此数据中的 refreshToken 和令牌?同样在请求后,我需要设置新的刷新和 jwtToken。
解决方法
我已经创建了一个插件
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
}
}
})
}