【问题标题】:How logout user when one of APIs responds Unauthorized 401 (Nuxt-Auth)当其中一个 API 响应 Unauthorized 401 (Nuxt-Auth) 时如何注销用户
【发布时间】:2022-01-10 08:07:04
【问题描述】:

当其中一个 API 使用 Nuxt-Auth 响应未经授权的 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'},
                },
            },
        }
    },

【问题讨论】:

    标签: javascript vue.js nuxt.js nuxt-auth


    【解决方案1】:

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

    像下面这样在src/plugins/axios.js 中创建的插件将起作用

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-22
      • 2018-07-24
      • 2019-06-06
      • 2018-02-04
      • 2017-06-25
      • 2020-03-06
      • 2018-07-23
      • 2012-11-10
      相关资源
      最近更新 更多