API Reference¶
django_sabia_auth.client¶
SabiaOAuth2Client¶
Handles the OAuth2 authorization code flow.
SabiaOAuth2Client(client_id, client_secret, redirect_uri, scopes=None, base_url=None)
Methods¶
-
get_authorization_url(state)→strReturns the full authorization URL to redirect the user to. -
exchange_code_for_token(code, timeout=30)→dictExchanges an authorization code for an access token dict. RaisesSabiaTokenErroron failure. -
get_user_info(access_token, timeout=30)→dictFetches the user's profile. RaisesSabiaUserInfoErroron failure.
SabiaAPIClient¶
Handles the Sabiá user management API.
SabiaAPIClient(client_id, base_url=None)
Methods¶
-
get_user(cpf_or_email, timeout=30)→dict | NoneReturns user dict on 200,Noneon 404, raisesSabiaAPIErroron 403. -
list_users(cpfs, page=1, timeout=30)→listReturns a list of user dicts. -
create_user(cpf, email, nome, genero, data_de_nascimento, timeout=30)→(bool, dict)Returns(True, data)on 201,(False, data)on 200.
django_sabia_auth.backends¶
SabiaAuthBackend¶
Django authentication backend.
authenticate(request, sabia_user_info=None, **kwargs)→User | Noneget_user(user_id)→User | None
django_sabia_auth.utils¶
get_sabia_settings()→dictget_oauth2_client()→SabiaOAuth2Clientget_api_client()→SabiaAPIClientgenerate_state()→str
django_sabia_auth.exceptions¶
SabiaAuthError— base exceptionSabiaTokenError— token exchange failedSabiaUserInfoError— user info fetch failedSabiaAPIError(status_code=None)— API errorSabiaStateMismatchError— CSRF state mismatch