Django和CSRF保护移动应用程序

时间:2015-09-09 19:18:25

标签: django oauth-2.0 django-rest-framework

我正在使用Django + Django REST Framework + Django OAuth Toolkit。

我理解来自网络会话的AJAX调用需要CSRF保护,但我理解移动应用程序并不像CSRF检查所保护的那样在专用应用程序中不会发生。如果某个人拥有OAuth令牌,他们就不会使用我们的网络应用程序,因此在这种情况下我似乎不需要执行CSRF检查。

当请求包含OAuth令牌时,有没有办法在REST Framework端点上禁用CSRF检查?如果是这样,这样做是否安全?或者所有请求是否应该受到CSRF机制的保护?

1 个答案:

答案 0 :(得分:2)

您应该将DRF's token authentication用于移动应用。最初,用户使用用户名和密码登录后端,然后后端为移动应用程序的实例发出令牌,该令牌[安全]在本地存储令牌。通过令牌身份验证以及在每次请求时将凭据(通过SSL / HTTPS)发送到服务器的实际情况,您无需进行CSRF检查,因此无法进行CSRF检查。