Hi,
For some of the POST operations, we are getting the response as 403 forbidden. This work fine when "POST" operation is removed from Apache Sling Referrer Filter.We have added the js <cq:includeClientLib categories="granite.csrf.standalone"/>. But still the response is 403.
When we checked the form data from the reqest the attribute :cq_csrf_token is missing in those ajax call which is getting failed. Have any one of you faced similar issue?
Please advice.
Thanks,
Akhila
Solved! Go to Solution.
Yes, we are using Jquery Ajax to perform the operation. Now we have fixed the issue by adding the token to the form data using jquery.
Views
Replies
Total Likes
Check this this gets fixed after removing the 'POST' method for Filter Methods property in Apache Granite CSRF Filter configuration.
Views
Replies
Total Likes
yes, it is working when POST is removed from CSRF filter. But we will not be able to do this as security fails.
Thanks,
Akhila
Views
Replies
Total Likes
Note: Sorry, The configuration name I have mentioned is wrong. It is "Apache Granite CSRF Filter " instead of "Apache Sling Referrer Filter"
Also the exception I am getting is as below.
com.adobe.granite.csrf.impl.CSRFFilter isValidRequest: empty CSRF token - rejecting
com.adobe.granite.csrf.impl.CSRFFilter doFilter: the provided CSRF token is invalid
Apache Granite CSRF Filter
Views
Replies
Total Likes
Are you using Adobe JQuery to perform the AJAX operation.
Views
Replies
Total Likes
Yes, we are using Jquery Ajax to perform the operation. Now we have fixed the issue by adding the token to the form data using jquery.
Views
Replies
Total Likes
Hi Akhila
Add cq.jquery as a dependency in your clientlib and see if it resolves the issue.
Hi Kumar,
We tried this, but still not working. As I have mentioned above, for some of the form submit, it is working, but in some it is not.
Thanks,
Akhila
Views
Replies
Total Likes
Hi Akhila
We had the same issue. The CSRF token was not passed in the form POST. We included the cq.jquery in the head and it worked for us:
<sly data-sly-use.clientLib="/libs/granite/sightly/templates/clientlib.html" data-sly-call="${clientLib.all @ categories='cq.jquery'}"/>
But I think it didn't resolve the issue you are having.
Views
Replies
Total Likes
Thanks! This resolves the issue!
Views
Replies
Total Likes
Views
Likes
Replies
Views
Likes
Replies
Views
Likes
Replies
Views
Likes
Replies