Django 如何维护身份验证数据

Django 如何维护身份验证数据,django,vue.js,django-rest-framework,vuejs3,Django,Vue.js,Django Rest Framework,Vuejs3,我正在与Django Rest Framework一起进行Vue 3实践,我正在尝试做的是令牌身份验证,用户登录,将生成令牌,但我遇到了一个问题,当正确登录时,我能够获得生成的令牌,问题是,当重新加载页面时,令牌不再位于vue应用程序中,我决定的一个可能解决方案是将令牌保存在本地存储中,但我认为这不是正确的解决方案。 这是我的Login.vue: 登录 羡慕 从'@vue/reactivity'导入{ref}; 从“@vue/runtime-core”导入{watchEffect}; 导出默认

我正在与Django Rest Framework一起进行Vue 3实践,我正在尝试做的是令牌身份验证,用户登录,将生成令牌,但我遇到了一个问题,当正确登录时,我能够获得生成的令牌,问题是,当重新加载页面时,令牌不再位于vue应用程序中,我决定的一个可能解决方案是将令牌保存在本地存储中,但我认为这不是正确的解决方案。
这是我的Login.vue:


登录
羡慕
从'@vue/reactivity'导入{ref};
从“@vue/runtime-core”导入{watchEffect};
导出默认值{
设置(){
const username=ref(“”);
const password=ref(“”);
常量标记=ref(“”);
const sendData=()=>{
取回(`http://localhost:8000/auth-令牌/`{
方法:“POST”,
正文:JSON.stringify({
用户名:username.value,
密码:password.value,
}),
标题:{
“内容类型”:“应用程序/json”,
},
})
.然后((res)=>res.json())
.catch((错误)=>console.error('error:',error))
。然后((响应)=>{
token.value=response.token;
});
};
watchEffect(()=>localStorage.setItem('Token',Token.value));
返回{
用户名,
密码,
发送数据,
};
},
};

以下是我对这个问题的最新答案之一:

TLDR:在前端持久化数据的可能性很小,但是使用localStorage/cookies/完全可以实现这一目的

此外,在应用程序开始时打电话到后端也是一个好主意,特别是如果负载有点重(你发送了一些JWT,并获得了大量的个人信息)


下面是一个可以帮助您在前端持久化数据的包列表:

在本地存储或cookie中设置令牌是很好的选择。无论哪种方式,当你的应用程序第一次加载时,在顶级组件中,你需要检查本地存储中的令牌或cookie,如果它存在,然后在你的应用程序中设置值。