【问题标题】:How do I authenticate users with Django REST framework and React.js frontend?如何使用 Django REST 框架和 React.js 前端对用户进行身份验证?
【发布时间】:2017-01-17 00:38:42
【问题描述】:

我正在制作一个网站,后端使用 django rest,前端使用 react.js。这将是我第一次使用带有 django 的前端框架。我在后端(facebook/twitter/google)上使用 django-allauth 进行社交验证。

一旦用户通过网络会话(使用 allauth)通过 3rd 方提供商 (facebook) 登录后,我如何将该数据传递到我的 react 应用程序?

我是否获取了 facebook 令牌,对其进行身份验证,然后生成一个 oauth2/jwt 令牌并以某种方式存储它?是否有一些样板/代码可以节省我的时间。我不想在这里重新发明轮子。

非常感谢!

【问题讨论】:

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


    【解决方案1】:

    这是一个老问题,但我想我会为现在正在阅读这篇文章的任何人插话......

    只要您设置了rest_framework.authtoken,您就应该能够使用具有各种后端的 DRF 进行身份验证。

    如果您使用 Redux,您可能会考虑一个简单的 npm 包,它已经完成了所有基础工作:drf-redux-auth。至少,它可能会提供您正在寻找的“样板”。

    【讨论】:

      【解决方案2】:

      获得令牌后,您可以将其存储在 cookie 中(如果您开发 IOS 应用程序,则可以将其存储在钥匙串中),而不是将令牌放入您的请求标头中,然后向您的服务器发出请求,例如:

      curl -H "Authorization: bearer your_access_token" -A "ChangeMeClient/0.1 by YourUsername" http://your_server/your_api
      

      这可能对Authorizing a request有帮助

      【讨论】:

      • 它可能关心的人:身份验证令牌必须在生产环境中与 https 一起使用。否则,任何人都可以从标头中嗅探您客户端的身份验证令牌。
      猜你喜欢
      • 2021-11-28
      • 1970-01-01
      • 1970-01-01
      • 2017-08-02
      • 2021-08-06
      • 2018-07-30
      • 2021-06-05
      • 2019-05-02
      • 2017-12-05
      相关资源
      最近更新 更多