Skip to content

Commit

Permalink
[SUPDESQ-15] (#2)
Browse files Browse the repository at this point in the history
- Disable CSRF tokens for saml2auth response from Active Directory authentication requests
  • Loading branch information
MarkCalvert authored Jul 30, 2021
1 parent 35f04d7 commit 61eda22
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion ckanext/fortify/anti_csrf.py
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,9 @@ def after_request_function(response):
# TODO: Fix me!
if request.endpoint and request.endpoint in ('admin.config'):
return response
# The request back from the saml2auth AD will never have the form token in it so lets ignore
if request.endpoint and request.endpoint in ('saml2auth.acs'):
return response
token = _get_response_token(request, resp)
new_response = _apply_token(resp.get_data(as_text=True), token)
resp.set_data(new_response)
Expand Down Expand Up @@ -161,7 +164,9 @@ def is_secure():
def is_safe():
"Check if the request is 'safe', if the request is safe it will not be checked for csrf"
# api requests are exempt from csrf checks
if request.path.startswith("/api") or (request.endpoint and request.endpoint in ('admin.config')):
if request.path.startswith("/api") \
or (request.endpoint and request.endpoint in ('admin.config')) \
or (request.endpoint and request.endpoint in ('saml2auth.acs')):
return True

# get/head/options/trace are exempt from csrf checks
Expand Down

0 comments on commit 61eda22

Please # to comment.