|
22 | 22 | logger = logging.getLogger(__name__)
|
23 | 23 | warnings.filterwarnings('ignore')
|
24 | 24 |
|
| 25 | + |
25 | 26 | class WS1loginSAMLApiSession(ApiSession):
|
26 | 27 | SAML_URL_SUFFIX = "/sso/login"
|
27 | 28 | # Request RegX
|
@@ -85,8 +86,8 @@ def saml_assertion(self, username, password):
|
85 | 86 | logger.error("SAML request not generated by controller.")
|
86 | 87 | raise APIError("SAML request not generated by controller.")
|
87 | 88 | saml_request = saml_request_match.group(1)
|
88 |
| - relay_state = re.search(WS1loginSAMLApiSession.request_relay_state_regex, resp.text,re.M | re.S).group(1) |
89 |
| - assertion_url = re.search(WS1loginSAMLApiSession.request_assertion_url_regex, resp.text,re.M | re.S).group(1) |
| 89 | + relay_state = re.search(WS1loginSAMLApiSession.request_relay_state_regex, resp.text, re.M | re.S).group(1) |
| 90 | + assertion_url = re.search(WS1loginSAMLApiSession.request_assertion_url_regex, resp.text, re.M | re.S).group(1) |
90 | 91 | headers = {'Content-Type': 'application/x-www-form-urlencoded'}
|
91 | 92 | saml_data = urllib.parse.urlencode({
|
92 | 93 | 'SAMLRequest': saml_request,
|
@@ -125,7 +126,7 @@ def saml_assertion(self, username, password):
|
125 | 126 | json_response = json.loads(auth_resp.content)
|
126 | 127 | idp_token = json_response['sessionToken']
|
127 | 128 | basic_auth_header = "Bearer " + idp_token
|
128 |
| - idp_session.headers.update({"authorization" : basic_auth_header}) |
| 129 | + idp_session.headers.update({"authorization": basic_auth_header}) |
129 | 130 | idp_resp = idp_session.post(assertion_url, headers=headers,
|
130 | 131 | data=saml_data, allow_redirects=True)
|
131 | 132 | if idp_resp.status_code not in (200, 301, 302):
|
@@ -217,6 +218,7 @@ def authenticate_session(self):
|
217 | 218 | self.authenticate_session()
|
218 | 219 | return
|
219 | 220 |
|
| 221 | + |
220 | 222 | class OneloginSAMLApiSession(ApiSession):
|
221 | 223 | """
|
222 | 224 | Extends the ApiSession class to override authentication
|
|
0 commit comments