【问题标题】:authentication from mobile to backend django从移动设备到后端 django 的身份验证
【发布时间】:2018-12-18 12:13:48
【问题描述】:

大家好。我现在很困惑,希望得到一些指导。我觉得我是一个很棒的谷歌人,通常可以找到我的答案或资源,但在我的一生中,我似乎找不到任何关于 JSON 请求和响应的好的学习材料。

所以我参加了一个构建 3 部分应用程序的课程。带有 Django 的 Web 应用程序,以及 2 个对其进行 API 调用的移动应用程序。讲师使用移动应用程序中的 Facebook 身份验证,我正在尝试为用户名和登录以及注册页面设置应用程序。

我已经设置了 django 模型,并且可以从 web 应用程序中创建用户,但我似乎无法理解如何从应用程序到 Django 进行 JSON 调用。当我搜索可能的术语(如 authenticate django)时,我得到的结果只涉及 django 的使用。

有没有人有一些提示或资源链接可以帮助我更好地理解登录过程。我意识到几乎每个应用程序都有一个登录名,这就是为什么我很惊讶我找不到任何关于它是如何完成的好的学习材料。或者我只是在搜索错误的关键字。

任何帮助将非常感谢。

【问题讨论】:

  • 这对 SO 来说有点太宽泛了。你需要提供更多关于你已经拥有的东西的细节。客户端只是一个使用 javascript 的网络浏览器吗?你有一个正常的 Django 网页用于注册和登录吗?
  • 您好,感谢您的回复。原谅我的宽泛,我已经实现了 rest-framework 并使用 oauth2 作为 Django 的 web 应用程序端,它配置了登录和注册页面。

标签: json django mobile login forms-authentication


【解决方案1】:

这确实是一个普遍的问题,但我简要介绍一下移动和 django 服务器应该如何相互交互:

    1234563 阅读更多关于它的信息from origin documentation here
  • 对于身份验证系统,您应该使用基于令牌的系统(或会话)。我建议为此使用 django 建议的基于令牌的解决方案之一。就我而言,我真的建议使用django-restframework-jwt library (JSON Web Token Authentication support for Django REST Framework)。 因此,无论何时您想向移动设备发送请求,都应在请求标头中提供该令牌(基于您选择的令牌身份验证后端)。

  • 对于loginregister,您应该创建接受用户输入的APIViews,然后在后端注册或验证它,然后为用户提供生成的令牌以供将来的请求使用。

  • 对于像 facebook 这样的社交身份验证系统,主要概念是将用户从应用程序重定向到 facebook oauth 链接,如果用户在他的 facebook 中进行身份验证会将您重定向到后端服务器的 redirect url,那么您应该在回调中捕获该请求,获取数据并创建或获取用户并为该用户生成令牌并将其返回。这样对于未来的请求,通过向服务器发送令牌,服务器将知道哪个用户正在发送此请求并为此正确处理响应。

  • 如果您想使用移动设备创建登录,则需要使用 django rest 为 loginregister 设置 API,这非常简单,您可以在这里学习。

【讨论】:

  • 感谢您的回复。移动应用程序的 api 设置和调用似乎暗示我让数据库创建用户配置文件并授予访问令牌以使用移动应用程序。
  • 第四个要点不适合这个问题。问题是询问如何在移动应用上使用 facebook 登录/注册。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-06-06
  • 2011-10-27
  • 1970-01-01
  • 1970-01-01
  • 2018-03-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多