当其中一个 API 响应未授权 401(Nuxt-Auth)时如何注销用户
How logout user when one of APIs responds Unauthorized 401 (Nuxt-Auth)
当其中一个 API 使用 Nuxt-Auth 响应 Unauthorized 401 时如何注销用户?
我使用 AXIOS 和 Nuxt-Auth 的内置函数来处理请求
我的 nuxt-auth nuxt-config 设置:
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
}
})
}
当其中一个 API 使用 Nuxt-Auth 响应 Unauthorized 401 时如何注销用户? 我使用 AXIOS 和 Nuxt-Auth 的内置函数来处理请求
我的 nuxt-auth nuxt-config 设置:
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
}
})
}