我正在使用Django + Django REST Framework + Django OAuth Toolkit。
我理解来自网络会话的AJAX调用需要CSRF保护,但我理解移动应用程序并不像CSRF检查所保护的那样在专用应用程序中不会发生。如果某个人拥有OAuth令牌,他们就不会使用我们的网络应用程序,因此在这种情况下我似乎不需要执行CSRF检查。
当请求包含OAuth令牌时,有没有办法在REST Framework端点上禁用CSRF检查?如果是这样,这样做是否安全?或者所有请求是否应该受到CSRF机制的保护?
答案 0 :(得分:2)
您应该将DRF's token authentication用于移动应用。最初,用户使用用户名和密码登录后端,然后后端为移动应用程序的实例发出令牌,该令牌[安全]在本地存储令牌。通过令牌身份验证以及在每次请求时将凭据(通过SSL / HTTPS)发送到服务器的实际情况,您无需进行CSRF检查,因此无法进行CSRF检查。