okta-sdk-python
okta-sdk-python copied to clipboard
fix: ensure requestTimeout and maxRetries are integers
This is failing when environment variables are used for configuration. Env vars are strings but are never converted to int before using them in arithmetic operations.
My configuration:
"OKTA_CLIENT_CONNECTIONTIMEOUT": "30",
"OKTA_CLIENT_ORGURL": "https://dev-89428916.okta.com",
"OKTA_CLIENT_AUTHORIZATIONMODE": "PrivateKey",
"OKTA_CLIENT_CLIENTID": "${env:OKTA_CLIENT_CLIENTID}",
"OKTA_CLIENT_SCOPES": "okta.users.read,okta.groups.read",
"OKTA_CLIENT_PRIVATEKEY": "${env:OKTA_CLIENT_PRIVATEKEY}",
"OKTA_CLIENT_REQUESTTIMEOUT": "0",
"OKTA_CLIENT_RATELIMIT_MAXRETRIES": "4",
"OKTA_CLIENT_LOGGING_ENABLED": "true",
"OKTA_CLIENT_LOGGING_LEVEL": "INFO",
My error:
# Raise Value Error if numerical inputs are invalid (< 0)
self._request_timeout = config["client"].get('requestTimeout', 0)
> if self._request_timeout < 0:
E TypeError: '<' not supported between instances of 'str' and 'int'
/opt/homebrew/lib/python3.11/site-packages/okta/request_executor.py:35: TypeError
The os.environ dictionary in Python expects its values to be strings.
@tgarciaalv I apologize for the delayed response and thank you for your submission. To ensure integrity, please provide a unit test that fails prior to your proposed change and passes with your change in place.
We appreciate your engagement and thanks for using Okta!