我刚开始在我当前的项目中使用 Nuxt。我使用 DRF 作为后端,local
使用 nuxt-auth 的身份验证策略效果非常好。但是,当我注销时,我必须刷新页面才能进入登录页面。
这是我的index.vue
:
<template>
<div>
<Navbar />
<Profile />
<PostForm />
<Records />
<Footer />
<button @click="$auth.logout()"> Logout </button>
</div>
</template>
<script>
import Records from '../components/Records.vue';
import Profile from '../components/Profile.vue';
import PostForm from '../components/PostForm.vue';
export default {
middleware: ['auth',], // or, 'auth' as a string
components: {
Records, Profile, PostForm
}
}
</script>
这是我的身份验证设置:
auth: {
strategies: {
local: {
endpoints: {
login: {
url: 'rest-auth/login/',
method: 'post',
propertyName: 'key',
},
logout: { url: 'rest-auth/logout/', method: 'post' },
user: {
propertyName: 0,
url: '/profile-model',
method: 'get',
},
},
tokenType: 'Token',
tokenName: 'Authorization',
},
redirect: {
login: '/login',
logout: '/login',
home: '/',
},
}
我已经多次阅读文档,但仍然无法弄清楚为什么login/
当我单击已登录的 Log Out 按钮时我没有被重定向到index.vue
。当然,我可以写一些中间件,但我认为库默认提供选项。