首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当其中一个API响应未经授权的401 (Nuxt)时,注销用户如何?

当其中一个API响应未经授权的401 (Nuxt)时,注销用户如何?
EN

Stack Overflow用户
提问于 2022-01-10 08:07:04
回答 2查看 973关注 0票数 0

当其中一个API用Nuxt响应未经授权的401时,用户如何注销?对于请求,我使用了AXIOS内置的Nuxt-Auth函数。

我对nuxt的nuxt设置:

代码语言:javascript
复制
    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'},
                },
            },
        }
    },

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-01-10 10:16:42

由于您使用的是Axios,所以很容易使用拦截器并根据需要捕获错误,然后调用注销操作

src/plugins/axios.js中创建一个插件,如下所示,它将起作用

代码语言:javascript
复制
export default function ({ $axios }) {
  $axios.onError((error) => {
    if (error.response.status === 401) {
      CALL_LOGOUT_ACTION_HERE
    }
  })
}
票数 4
EN

Stack Overflow用户

发布于 2022-09-24 08:32:20

传递上下文而不是$axios

代码语言:javascript
复制
export default function (context) {
    context.$axios.onError((error) => {
        if (error.response.status === 401) {
            context.$auth.logout()
        }
    })
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70649385

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档