【问题标题】:Pass auth token from Django to React/Redux frontend将身份验证令牌从 Django 传递到 React/Redux 前端
【发布时间】:2020-04-10 08:24:19
【问题描述】:

我的情况有点独特。我正在开发的网站最初将 Django 用于前端和后端。现在,Django 网站也被用作 React/Redux 前端的后端,并且还使用默认的 Django 令牌身份验证进行 API 调用。到目前为止这一切都很好。问题是,我试图确保 React/Redux 应用程序不会加载,除非用户首先登录 Django 网站。基本上,您必须先登录 Django 网站,才能访问 React/Redux 应用程序,否则您将被重定向回 Django 应用程序的登录屏幕。

我想知道是否有办法通过请求发送当前用户的 Django 身份验证令牌,由 React/Redux 应用程序接收和存储,以便将 API 调用回 Django 应用程序?

我在网上搜索过,我只能找到在 React/Redux 应用程序中使用登录页面的教程,这不是我想要的。任何帮助,将不胜感激。谢谢!

【问题讨论】:

  • 您可以使用 csrf 令牌发送 api 请求。在休息框架中,您可以使用会话身份验证
  • 从哪里发出 API 请求?我正在尝试将令牌传递给 React/Redux 前端。我不希望人们必须登录到 React/Redux 前端

标签: django reactjs authentication redux django-rest-framework


【解决方案1】:

在最简单的情况下,我猜您将两个应用程序托管在同一个域下,您可以创建一个需要常规 Django 身份验证的端点并生成一个令牌。如果对该端点进行未经身份验证的调用,您将重定向到 Django 登录页面。

请提供有关您的设置的更多详细信息,然后我可以提出更具体的建议。

【讨论】:

  • 常规 Django 身份验证是指基本身份验证吗?
  • docs.djangoproject.com/en/3.0/topics/http/sessions SessionAuthentication,我想你已经在你的登录表单中使用它了
  • 如果你想手动管理你的令牌,你可以使用djangorestframework-jw
猜你喜欢
  • 1970-01-01
  • 2021-04-13
  • 2020-06-29
  • 2019-06-16
  • 1970-01-01
  • 2020-05-21
  • 1970-01-01
  • 2015-09-13
  • 2015-02-24
相关资源
最近更新 更多