feat: handle WAF challenges using Turnstile #507
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR tries to address a problem described in the issue #506
In some rare cases, WAF might reject a AJAX request and require to pass a challenge.
According to Cloudflare blog, this issue can be resolved with Turnstile captcha.
Each time app receive a response with
cf-mitigated: challengeheader, it should display a Turnstile challenge and on success, retry a request with attached token.Token should be validated on backend side using private key.