如何解决在Node.js和Django之间处理基于会话的身份验证
这可能会遇到“最佳实践”类型的问题,但是我想解释一下我的方法,列出我的假设并获得建设性的反馈。
当前我的设置包括两台服务器;
- 在
localhost:3000
和a 上运行Sapper / Svelte的Node.js前端服务器
- Django(不是DjangoRestFramework),后端运行在
localhost:8000
上。
我的Django会话正使用django.contrib.sessions.backends.cached_db
缓存到本地运行的Redis实例(并将数据转发到我的Postgres实例)。
我正在使用在Django应用中定义的views
和urls
处理用户模型。
在进行建筑认证时;我正在遵循方法
- 使用Django的
fetch()
,locahost:8000/login or signup
和authenticate
创建login
到User.*
的POST,以创建会话。 - 然后我将
session_key
和email
返回到前端,然后将它们在正文中发送给可能需要身份验证的任何请求。 - 在后端,我使用请求正文中发送给我的电子邮件将
session_key
与user_id
进行匹配,以检查会话是否有效。
现在,由于我一直使用Django模板,因此不必维护单独的会话实例,也不必考虑共享会话。我觉得这种方法可能更适合python-ic?
在这个阶段,我也已经完成了所有模型,完成了迁移,这种方法行得通,但似乎并不是解决此问题的最佳方法。
将感谢您的反馈/批评。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。