summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Kanakarakis <ivan.kanak@gmail.com>2018-11-16 23:38:15 +0200
committerIvan Kanakarakis <ivan.kanak@gmail.com>2018-11-21 18:06:45 +0200
commit788a69524a3f6803b13095825db41ff4bf8411e7 (patch)
tree24f31c26ece57902579edb2e277ccfe218ca0cad
parent3989b99ac73c98630ff242b2ace0e447b5f062df (diff)
downloadpysaml2-788a69524a3f6803b13095825db41ff4bf8411e7.tar.gz
Pass sign information when calling apply_binding
Signed-off-by: Ivan Kanakarakis <ivan.kanak@gmail.com>
-rw-r--r--src/saml2/client.py8
-rw-r--r--src/saml2/s2repoze/plugins/sp.py6
-rw-r--r--tests/test_51_client.py4
3 files changed, 11 insertions, 7 deletions
diff --git a/src/saml2/client.py b/src/saml2/client.py
index 91d0c90d..e0d71ba1 100644
--- a/src/saml2/client.py
+++ b/src/saml2/client.py
@@ -125,7 +125,7 @@ class Saml2Client(Base):
args = {}
http_info = self.apply_binding(binding, _req_str, destination,
- relay_state, **args)
+ relay_state, sign=sign, **args)
return reqid, binding, http_info
else:
@@ -240,7 +240,7 @@ class Saml2Client(Base):
relay_state = self._relay_state(req_id)
http_info = self.apply_binding(binding, srequest, destination,
- relay_state, sigalg=sigalg)
+ relay_state, sign=sign, sigalg=sigalg)
if binding == BINDING_SOAP:
response = self.send(**http_info)
@@ -478,7 +478,7 @@ class Saml2Client(Base):
"sign": sign}
relay_state = self._relay_state(query.id)
return self.apply_binding(binding, "%s" % query, destination,
- relay_state)
+ relay_state, sign=sign)
else:
raise SAMLError("Unsupported binding")
@@ -535,4 +535,4 @@ class Saml2Client(Base):
return self.apply_binding(rinfo["binding"], response,
rinfo["destination"], relay_state,
- response=True)
+ response=True, sign=sign)
diff --git a/src/saml2/s2repoze/plugins/sp.py b/src/saml2/s2repoze/plugins/sp.py
index 27dfee68..3b09a91e 100644
--- a/src/saml2/s2repoze/plugins/sp.py
+++ b/src/saml2/s2repoze/plugins/sp.py
@@ -368,7 +368,11 @@ class SAML2Plugin(object):
self.outstanding_certs[_sid] = cert
ht_args = _cli.apply_binding(
- _binding, msg_str, destination=dest, relay_state=came_from
+ _binding,
+ msg_str,
+ destination=dest,
+ relay_state=came_from,
+ sign=_cli.authn_requests_signed,
)
logger.debug("ht_args: %s", ht_args)
diff --git a/tests/test_51_client.py b/tests/test_51_client.py
index cc267aab..45b858bd 100644
--- a/tests/test_51_client.py
+++ b/tests/test_51_client.py
@@ -1375,7 +1375,7 @@ class TestClient:
info = self.client.apply_binding(
BINDING_HTTP_REDIRECT, msg_str, destination="",
- relay_state="relay2", sigalg=SIG_RSA_SHA256)
+ relay_state="relay2", sign=True, sigalg=SIG_RSA_SHA256)
loc = info["headers"][0][1]
qs = parse_qs(loc[1:])
@@ -2875,7 +2875,7 @@ class TestClientNonAsciiAva:
info = self.client.apply_binding(
BINDING_HTTP_REDIRECT, msg_str, destination="",
- relay_state="relay2", sigalg=SIG_RSA_SHA256)
+ relay_state="relay2", sign=True, sigalg=SIG_RSA_SHA256)
loc = info["headers"][0][1]
qs = parse_qs(loc[1:])