处理Node.js和Django之间基于会话的身份验证

2024-10-01 09:32:38 发布

您现在位置:Python中文网/ 问答频道 /正文

这可能是一个“最佳实践”类型的问题,但我想解释一下我的方法,列出我的假设,并获得建设性的反馈

目前我的设置由两台服务器组成

  • Node.js前端服务器在localhost:3000
  • Django(不是DjangoRestFramework),后端在localhost:8000上运行

正在使用django.contrib.sessions.backends.cached_db将我的Django会话缓存到本地运行的Redis实例(并将数据转发到我的Postgres实例)

我正在使用我在Django应用程序中定义的viewsurls处理我的用户模型

同时进行楼宇认证;我正在遵循这一方针

  • 使用Django的authenticateloginUser.*来创建会话,运行到locahost:8000/login or signupfetch()POST'ing
  • 然后我将session_keyemail返回到前端,然后前端在正文中为可能需要身份验证的任何请求发送它们
  • 在后端,我使用请求正文中发送给我的电子邮件将session_keyuser_id匹配,以检查会话是否有效

既然我一直使用Django模板,我就不必维护单独的会话实例,也不必考虑共享会话。我觉得这种方法可以更具pythonic风格

在这个阶段,我已经完成了所有的模型、迁移,这种方法很有效,但似乎不是最好的方法

如有反馈/批评,将不胜感激


Tags: django实例方法key模型服务器nodelocalhost