当其中一个API响应Unauthorized 401(Nuxt Auth)时,如何注销用户



当其中一个API使用Nuxt Auth响应Unauthorized 401时,如何注销用户?我使用AXIOS&Nuxt Auth的内置功能用于请求

我的nuxt auth:的nuxt配置设置

auth: {
redirect: {
login: '/login',
logout: '/',
callback: '/login',
home: '/panel/dashboard'
},
strategies: {
local: {
token: {
property: 'token',
global: true,
type: 'Bearer',
required: true,
},
user: {
property: 'user',
autoFetch: true
},
endpoints: {
login: {url: '/api/auth/login_verify', method: 'post'},
logout: {url: '/api/auth/logout', method: 'get'},
user: {url: '/api/auth/validate', method: 'get'},
},
},
}
},

由于您使用Axios,因此可以很容易地使用Interceptors并根据您的要求捕获错误,然后调用注销操作

下面这样的东西与src/plugins/axios.js中创建的插件将工作

export default function ({ $axios }) {
$axios.onError((error) => {
if (error.response.status === 401) {
CALL_LOGOUT_ACTION_HERE
}
})
}

传递上下文而不是$axios:

export default function (context) {
context.$axios.onError((error) => {
if (error.response.status === 401) {
context.$auth.logout()
}
})
}

最新更新