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

get_authorization_url(scopes, state_token=None)

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:
Returns:

Requests object

refresh(refresh_token=None)

Gets fresh access_token and refresh_token

Parameters:

refresh_token – Refresh Token

Raises:
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:
Returns:

True if token successfully revoked