AuthClient¶
-
class
intuitlib.client.
AuthClient
(client_id, client_secret, redirect_uri, environment, state_token=None, access_token=None, refresh_token=None, id_token=None, realm_id=None)¶ Bases:
requests.sessions.Session
Handles OAuth 2.0 and OpenID Connect flows to get access to User Info API, Accoutning APIs and Payments APIs
Generates authorization url using scopes specified where user is redirected to
Parameters: - scopes (list of enum, intuitlib.enums.Scopes) – Scopes for OAuth/OpenId flow
- state_token – CSRF token, defaults to None
Returns: Authorization url
-
get_bearer_token
(auth_code, realm_id=None)¶ Gets access_token and refresh_token using authorization code
Parameters: - auth_code – Authorization code received from redirect_uri
- realm_id – Realm ID/Company ID of the QBO company
Raises: intuitlib.exceptions.AuthClientError – if response status != 200
-
get_user_info
(access_token=None)¶ Gets User Info based on OpenID scopes specified
Parameters: access_token – Access token
Raises: - ValueError – if Refresh Token or Access Token value not specified
- intuitlib.exceptions.AuthClientError – if response status != 200
Returns: Requests object
-
refresh
(refresh_token=None)¶ Gets fresh access_token and refresh_token
Parameters: refresh_token – Refresh Token
Raises: - ValueError – if Refresh Token value not specified
- intuitlib.exceptions.AuthClientError – if response status != 200
-
revoke
(token=None)¶ Revokes access to QBO company/User Info using either valid Refresh Token or Access Token
Parameters: token – Refresh Token or Access Token to revoke
Raises: - ValueError – if Refresh Token or Access Token value not specified
- intuitlib.exceptions.AuthClientError – if response status != 200
Returns: True if token successfully revoked