diff --git a/src/saml2/pack.py b/src/saml2/pack.py index 7ce2d5d..8f28d34 100644 --- a/src/saml2/pack.py +++ b/src/saml2/pack.py @@ -135,7 +135,7 @@ def http_redirect_message(message, location, relay_state="", typ="SAMLRequest", if sigalg == RSA_SHA1: signer = RSASigner(sha1_digest, "sha1") - string = "&".join([urllib.urlencode({k: args[k]}) for k in _order]) + string = "&".join([urllib.urlencode({k: args[k]}) for k in _order if k in args]) args["Signature"] = base64.b64encode(signer.sign(string, key)) string = urllib.urlencode(args) else: @@ -265,4 +265,4 @@ def packager(identifier): def factory(binding, message, location, relay_state="", typ="SAMLRequest"): - return PACKING[binding](message, location, relay_state, typ) \ No newline at end of file + return PACKING[binding](message, location, relay_state, typ)