I am using normal flask web + flask-restful. So I need CSRF protection for web but not for REST.
The moment I enable CsrfProtect(app)
of flask-wtf
, all my post unit tests for flask-restful
return a 400.
Is there a way to disable CSRF protection for REST services since they are coming from mobile handsets without session handling anyway, hence CSRF wouldn't make much sense.
This is how I test it:
rv = self.client.post('api/v1.0/verify-email', environ_base={'REMOTE_ADDR': '127.0.0.1'}, headers={'Content-Type':'application/json'}, data=json.dumps(data))
self.check_content_type(rv.headers)
eq_(rv.status_code, 412)