django - 用户关闭浏览器时如何在 django rest 中处理令牌?
问题描述
我是 Django rest 框架的新手,我正在使用 Django rest 的令牌身份验证,但我不知道当用户直接关闭浏览器而不注销时如何处理令牌,在这种情况下,标准方式是什么?
另外,如果用户已经登录,我想实现然后重定向到仪表板如何实现?我的看法如下。
class LoginTemplateClass(TemplateView):
template_name = 'index.html'
class LoginAPI(viewsets.ModelViewSet):
serializer_class = LoginSerializer
def post(self,request):
try:
serializer = self.serializer_class(data=request.data,context={'request': request})
if serializer.is_valid():
user = serializer.validated_data['user']
token, created = Token.objects.get_or_create(user=user)
return Response(token.key,status = 200)
return Response(serializer.errors,status = 400)
except Exception as e:
return Response({},status = 500)
解决方案
当用户直接关闭浏览器而不注销时如何处理令牌,在这种情况下,标准方式是什么?
通常,您希望用户登录您的网站一段时间。Cookies 通常用于保存登录信息,因为这些信息将存储在客户端。
那么,您的登录流程应该是怎样的
see if cookie exists -> yes, then check if token exists in your backend
|
-----> no, then create a token and set it on the browser cookie with a reasonable timeout.
另外,如果用户已经登录,我想实现然后重定向到仪表板如何实现?
有两种方法可以做到这一点,
推荐阅读
- javascript - 如何使用 POST 将前端的信息发送到使用 Gin and Go 的后端
- python - 给定由每日数据组成的数据框,如何生成平均月度数据的新数据框?
- performance - 计时(时钟?):序列步速
- android - android findAccessibilityNodeInfosByViewId 虽然节点 id 存在但返回 null
- tinymce - TinyMCE 菜单不显示
- python - RuntimeError:cuDNN 错误:CUDNN_STATUS_NOT_INITIALIZED
- pandas - 熊猫 .plot.hist() 和 .groupby()
- lua - Roblox 臀高脚本仅适用于某些玩家
- windows-server - Windows Server 无头安装无法管理 COM+ 组件
- python - 从列表中删除重复项而不使列表索引超出范围