小编Rag*_*eti的帖子

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

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

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

  • 运行 Sapper/Svelte 的 Node.js 前端服务器localhost:3000和一个
  • Django(不是 DjangoRestFramework),后端运行在localhost:8000.

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

我正在处理我的用户模型views,urls我已经在 Django 应用程序中定义。

在构建身份验证时;我正在遵循这种方法

  • 运行fetch()POST'ing到locahost:8000/login or signup,使用Django的authenticate,login和User.*创建会话。
  • 然后我将session_key和返回email到前端,然后前端将它们发送到正文中以用于可能需要身份验证的任何请求。
  • 在后台,我匹配session_key的,以user_id使用在请求体中发送给我的电子邮件,以检查会话是否有效。

现在,由于我一直使用 Django 模板,因此我不必维护单独的会话实例,也不必考虑共享会话。我觉得这种方法可能更像python-ic?

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

希望得到反馈/批评。

python authentication django session node.js

8
推荐指数
0
解决办法
402
查看次数

标签 统计

authentication ×1

django ×1

node.js ×1

python ×1

session ×1