Helper Module¶
This module contains utility methods used by this library
-
intuitlib.utils.
generate_token
(length=30, allowed_chars='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789')¶ Generates random CSRF token
Parameters: - length – Length of CSRF token, defaults to 30
- allowed_chars – Characters to use, defaults to ‘abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789’
Returns: Token string
-
intuitlib.utils.
get_auth_header
(client_id, client_secret)¶ Gets authorization header
Parameters: - client_id – Client ID
- client_secret – Client Secret
Returns: Authorization header
-
intuitlib.utils.
get_discovery_doc
(environment, session=None)¶ Gets discovery doc based on environment specified.
Parameters: - environment – App environment, accepted values: ‘sandbox’,’production’,’prod’,’e2e’
- session – requests.Session object if a session is already being used, defaults to None
Returns: Discovery doc response
Raises: HTTPError – if response status != 200
-
intuitlib.utils.
get_jwk
(kid, jwk_uri)¶ Get JWK for public key information
Parameters: - kid – KID
- jwk_uri – JWK URI
Raises: HTTPError – if response status != 200
Returns: dict containing keys
-
intuitlib.utils.
scopes_to_string
(scopes)¶ Converts list of enum to string
Parameters: scopes (list of intuitlib.enums.Scopes) – Scopes specified for OAuth/OpenID flow Raises: TypeError – for invalid input for scope Returns: Scopes string
-
intuitlib.utils.
send_request
(method, url, header, obj, body=None, session=None, oauth1_header=None)¶ Makes API request using requests library, raises intuitlib.exceptions.AuthClientError if request not successful and sets specified object attributes from API response if request successful
Parameters: - method – HTTP method type
- url – request URL
- header – request headers
- obj – object to set the attributes to
- body – request body, defaults to None
- session – requests session, defaults to None
- oauth1_header – OAuth1 auth header, defaults to None
Raises: AuthClientError – In case response != 200
Returns: requests object
-
intuitlib.utils.
set_attributes
(obj, response_json)¶ Sets attribute to an object from a dict
Parameters: - obj – Object to set the attributes to
- response_json – dict with key names same as object attributes
-
intuitlib.utils.
validate_id_token
(id_token, client_id, intuit_issuer, jwk_uri)¶ Validates ID Token returned by Intuit
Parameters: - id_token – ID Token
- client_id – Client ID
- intuit_issuer – Intuit Issuer
- jwk_uri – JWK URI
Returns: True/False