From 4f43fd8f9e9c6e9abd85066d264aeb95f39e5af9 Mon Sep 17 00:00:00 2001 From: Arpit Jain Date: Fri, 1 May 2015 18:52:10 +0530 Subject: [PATCH 1/2] Added flag for controlling compression. --- src/onelogin/saml2/authn_request.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/onelogin/saml2/authn_request.py b/src/onelogin/saml2/authn_request.py index 8e8495e7..a362049b 100644 --- a/src/onelogin/saml2/authn_request.py +++ b/src/onelogin/saml2/authn_request.py @@ -11,6 +11,7 @@ from base64 import b64encode from zlib import compress +from django.conf import settings from onelogin.saml2.utils import OneLogin_Saml2_Utils from onelogin.saml2.constants import OneLogin_Saml2_Constants @@ -123,7 +124,9 @@ def get_request(self): :return: Unsigned AuthnRequest :rtype: str object """ - deflated_request = compress(self.__authn_request)[2:-4] + deflated_request = self.__authn_request + if getattr(settings, 'ENABLE_SAML_COMPRESSION', True): + deflated_request = compress(self.__authn_request)[2:-4] return b64encode(deflated_request) def get_id(self): From e9449c3f06b5e68192a50889c1047add4aa71c26 Mon Sep 17 00:00:00 2001 From: Kush Jain Date: Fri, 16 Feb 2018 12:11:02 +0530 Subject: [PATCH 2/2] Customize deflation process --- .gitignore | 1 + src/onelogin/saml2/auth.py | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index ad382d79..a424f0e3 100644 --- a/.gitignore +++ b/.gitignore @@ -19,6 +19,7 @@ __pycache_ /venv .coverage .pypirc +.idea/ *.key *.crt diff --git a/src/onelogin/saml2/auth.py b/src/onelogin/saml2/auth.py index ab8fb2af..1fd9551e 100644 --- a/src/onelogin/saml2/auth.py +++ b/src/onelogin/saml2/auth.py @@ -271,7 +271,7 @@ def get_last_request_id(self): """ return self.__last_request_id - def login(self, return_to=None, force_authn=False, is_passive=False, set_nameid_policy=True): + def login(self, return_to=None, force_authn=False, is_passive=False, set_nameid_policy=True, deflate=False): """ Initiates the SSO process. @@ -287,13 +287,16 @@ def login(self, return_to=None, force_authn=False, is_passive=False, set_nameid_ :param set_nameid_policy: Optional argument. When true the AuthNRequest will set a nameIdPolicy element. :type set_nameid_policy: bool + :param deflate: Optional argument. When true, compress request + :type deflate: bool + :returns: Redirection URL :rtype: string """ authn_request = OneLogin_Saml2_Authn_Request(self.__settings, force_authn, is_passive, set_nameid_policy) self.__last_request = authn_request.get_xml() self.__last_request_id = authn_request.get_id() - saml_request = authn_request.get_request() + saml_request = authn_request.get_request(deflate) parameters = {'SAMLRequest': saml_request} if return_to is not None: