Nuxt Auth上的访客中间件不起作用

时间:2020-07-12 18:08:59

标签: nuxt.js

我有一个登录页面,我希望登录的用户看不到。我的组件如下:

<template>...</template>
<script lang="ts">
   ...
   @Component({
       layout: 'fullWidth',
       auth: 'guest',
       components: {
         Base,
         BaseAuth,
       }
   })
   export default class Login extends Vue {  ... }
</script>

登录后,如果我转到/login路由,则可以查看该页面。我的nuxt配置如下:

auth: {
    redirect: {
      login: '/login',
      logout: '/',
      // callback: '/login',
      home: '/'
    },
    strategies: {
      local: {
        endpoints: {
          login: { url: '/auth/login', method: 'post', propertyName: 'token' },
          logout: { url: '/auth/logout', method: 'post' },
          user: { url: '/auth/user', method: 'get', propertyName: 'user' }
        },
      }
    }
  }

还有其他配置吗?

2 个答案:

答案 0 :(得分:0)

我知道这不是该模块的真正解决方案,但最终我要做的是在登录页面上添加钩子:

mounted() {
    if (this.$auth.loggedIn) {
    return this.$router.push('/dashboard')
    }
},

答案 1 :(得分:0)

使用这个,先注册中间件再使用auth。

middleware: 'auth', 
  auth : 'guest',