当其中一个API用Nuxt响应未经授权的401时,用户如何注销?对于请求,我使用了AXIOS内置的Nuxt-Auth函数。
我对nuxt的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'},
},
},
}
},
发布于 2022-01-10 10:16:42
由于您使用的是Axios,所以很容易使用拦截器并根据需要捕获错误,然后调用注销操作
在src/plugins/axios.js中创建一个插件,如下所示,它将起作用
export default function ({ $axios }) {
$axios.onError((error) => {
if (error.response.status === 401) {
CALL_LOGOUT_ACTION_HERE
}
})
}发布于 2022-09-24 08:32:20
传递上下文而不是$axios
export default function (context) {
context.$axios.onError((error) => {
if (error.response.status === 401) {
context.$auth.logout()
}
})
}https://stackoverflow.com/questions/70649385
复制相似问题