当其中一个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()
}
})
}