in aws_advanced_python_wrapper/okta_plugin.py [0:0]
def get_saml_assertion(self, props: Properties):
try:
one_time_token = self._get_session_token(props)
uri = self._get_saml_url(props)
SamlUtils.validate_url(uri)
logger.debug("OktaCredentialsProviderFactory.SamlAssertionUrl", uri)
r = requests.get(uri,
params={OktaCredentialsProviderFactory._ONE_TIME_TOKEN: one_time_token},
verify=WrapperProperties.SSL_SECURE.get_bool(props),
timeout=WrapperProperties.HTTP_REQUEST_TIMEOUT.get_int(props))
SamlUtils.validate_response(r)
content = r.text
match = search(OktaCredentialsProviderFactory._SAML_RESPONSE_PATTERN, content)
if not match:
error_message = "AdfsCredentialsProviderFactory.FailedLogin"
logger.debug(error_message, content)
raise AwsWrapperError(Messages.get_formatted(error_message, content))
# return SAML Response value
return unescape(match.group(self._SAML_RESPONSE_PATTERN_GROUP))
except IOError as e:
error_message = "OktaAuthPlugin.UnhandledException"
logger.debug(error_message, e)
raise AwsWrapperError(Messages.get_formatted(error_message, e))