针对移动应用程序的Django和CSRF保护

针对移动应用程序的Django和CSRF保护,django,oauth-2.0,django-rest-framework,Django,Oauth 2.0,Django Rest Framework,我正在使用Django+Django REST框架+Django OAuth工具包 我知道来自web会话的AJAX调用需要CSRF保护,但我的理解是,移动应用程序不需要CSRF保护,因为CSRF检查所保护的东西不可能在专用应用程序中发生。如果一个人有OAuth令牌,他们没有使用我们的web应用程序,因此在这种情况下,我似乎不需要执行CSRF检查 当请求包含OAuth令牌时,有没有办法禁用REST框架端点上的CSRF检查?如果有,这样做安全吗?或者所有请求都应该受到CSRF机制的保护吗?您可能应该

我正在使用Django+Django REST框架+Django OAuth工具包

我知道来自web会话的AJAX调用需要CSRF保护,但我的理解是,移动应用程序不需要CSRF保护,因为CSRF检查所保护的东西不可能在专用应用程序中发生。如果一个人有OAuth令牌,他们没有使用我们的web应用程序,因此在这种情况下,我似乎不需要执行CSRF检查


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

您可能应该与移动应用程序一起使用。最初,用户使用用户名和密码登录到您的后端,然后后端为该移动应用程序实例颁发一个令牌,该令牌[安全地]存储在本地。通过令牌身份验证和在每次请求时将凭据(通过SSL/HTTPS)发送到服务器的现实,您无需进行CSRF检查,因此不会进行CSRF检查。

太棒了,我完全忽略了它们机制的重要性,认为我需要OAuth,而实际上我不需要。谢谢