截至目前,我有一个 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/