如何在带有python/django后端的react-redux项目中合并服务器端身份验证?

如何在带有python/django后端的react-redux项目中合并服务器端身份验证?,python,django,reactjs,redux,react-redux,Python,Django,Reactjs,Redux,React Redux,我正在做一个项目,它的后端是python/django,前端是react和redux,客户端路由使用react路由器。请建议我使用后端生成/存储的django令牌进行用户登录身份验证/验证的一些方法。登录流应该如下所示: 使用django中创建的电子邮件和密码的用户表,django生成的身份验证令牌 用户第一次登录时,api被react调用,在成功验证时,服务器会用令牌响应,我将把令牌存储在会话中。对api的所有后续调用都将包含此令牌以进行授权 其次,我对如何授权安全的客户端路由感到困惑?基于用

我正在做一个项目,它的后端是python/django,前端是react和redux,客户端路由使用react路由器。请建议我使用后端生成/存储的django令牌进行用户登录身份验证/验证的一些方法。登录流应该如下所示:

  • 使用django中创建的电子邮件和密码的用户表,django生成的身份验证令牌

  • 用户第一次登录时,api被react调用,在成功验证时,服务器会用令牌响应,我将把令牌存储在会话中。对api的所有后续调用都将包含此令牌以进行授权

  • 其次,我对如何授权安全的客户端路由感到困惑?基于用户登录状态还是什么


    附言:我只是在征求实现这一目标的最佳方法的建议,而不是别的

    有了这个一岁的孩子,你可能不需要这个,但也许其他人可以使用它。我遇到了类似的问题,并编写了一个包,这样我就不必继续为django编写身份验证

    它只是提供了操作、简化程序和基本(示例)组件,用于使用令牌身份验证通过Django Rest框架进行身份验证


    我很想听听您是如何决定使用react router处理授权部分的…

    从这个意义上讲,客户端路由并不是真正的“安全”的。你必须假设一个用户可能到达你的React应用程序提供的每一条客户端路线。有人可以对您的javascript包进行反向工程以获得此信息。然而,安全的是对后端的底层API调用,只有当请求来自经过身份验证的源(包含您描述的令牌)时,才会公开数据。话虽如此,您仍然需要进行客户端身份验证检查,以防用户出于任何原因丢失令牌。我最近也做了类似的事情。一旦您的用户通过身份验证,并且收到令牌,我会将该令牌保存在存储中(在短时间内过期)。然后检查每个路由更改请求上的用户令牌,以及@timotgl描述的API请求。您使用什么作为路由器解决方案?反应路由器?@flybear是的,我只使用反应路由器。