java - 如何使用 Django REST API 验证 android 用户 POST 请求?

标签 java android python django authentication

截至目前,我有一个 Django REST API,对于网络应用程序来说,一切都很顺利,我在后端实现了用户身份验证。 “login_required”条件适用于基于 cookie 的网络应用程序。

我现在有一个 Android 应用程序需要访问相同的 API。我能够登录用户。我需要知道的是,当每个用户对我的 View 发出 GET/POST 请求时如何对他们进行身份验证?

我的研究显示了几个解决方案: 1) Cookie 支持的 session 2) 在每个 GET/POST 请求中发送用户名和密码(可能不安全)

有什么想法吗?

最佳答案

听起来您正在使用 Django REST Framework,在这种情况下 TokenAuthentication 可能是合适的。 来自文档:

This authentication scheme uses a simple token-based HTTP Authentication scheme. Token authentication is appropriate for client-server setups, such as native desktop and mobile clients

您不需要预先生成 token ,因为客户端可以使用您在 urls.py 中配置的内置 View obtain_auth_token 请求 token 。

一旦客户端获得了 session 的 token ,他们就可以使用 Authorization: HTTP header 在后续的 API 调用中提供它。

查看文档以获取更多信息:http://www.django-rest-framework.org/api-guide/authentication/#tokenauthentication

关于java - 如何使用 Django REST API 验证 android 用户 POST 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18330916/

相关文章:

android - sql order by 子句

python - 使用gtts覆盖Python中预先存在的.mp3文件

python - 从一个大列表内的多个字典中提取(间隔)值,并将这些值与另一个大列表内的相应列表组合

java - 将 *-servlet.xml 与 applicationContext.xml 混合

java - 如何抽象 Robotium Setup 来运行多个测试文件

android - Android 中的 RGB 到 ARGB 转换

java - Android:IllegalStateException: Activity 已被销毁

python - Python delete_rows 函数中的 openpyxl 破坏了合并的单元格

java - XML 节点转换时未声明命名空间

java - Vaadin QuickTickets 仪表板部署错误