【问题标题】:How to incorporate server side authentication in a react-redux project with python/django backend?如何在带有 python/django 后端的 react-redux 项目中合并服务器端身份验证?
【发布时间】:2017-08-09 10:07:56
【问题描述】:

我正在开发一个项目,它的后端位于 python/django 上,前端位于 react 和 redux 中,客户端路由使用 react-router。请建议我一些进行用户登录身份验证/验证的方法,以与后端生成/存储的 django 令牌做出反应。登录流程应该是这样的:

  1. 在 django 中创建的带有电子邮件和密码的用户表,由 django 生成的身份验证令牌。

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

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

PS:我只是询问实现这一目标的最佳方法的建议,仅此而已。

【问题讨论】:

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

标签: python django reactjs redux react-redux


【解决方案1】:

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

drf-redux-auth

它只是提供了动作、reducers 和基本(示例)组件,用于使用令牌身份验证通过 Django Rest Framework 进行身份验证。

我很想听听您决定如何使用 react-router 处理授权...

【讨论】:

    猜你喜欢
    • 2011-11-04
    • 1970-01-01
    • 1970-01-01
    • 2015-03-31
    • 2019-06-06
    • 2013-06-08
    • 1970-01-01
    • 2018-02-26
    • 1970-01-01
    相关资源
    最近更新 更多