Aller au contenu

sdk_entrepot_gpf.auth#

Authentifier() #

Singleton permettant de s'authentifier auprès du serveur KeyCloak.

Attributes:

Name Type Description
__token_url str

url permettant de récupérer le jeton d'authentification

__login str

login pour l'authentification

__password str

password pour l'authentification

__client_id str

identification client devant être donné au serveur d'authentification

__nb_attempts int

nombre de tentatives possibles en cas de problème rencontré pendant la récupération du jeton

__sec_between_attempt int

nombre de secondes entre deux tentatives en cas de problème rencontré pendant la récupération du jeton

__last_token Token

sauvegarde du dernier jeton récupéré (pour éviter de multiples requêtes au serveur KeyCloak)

get_access_token_string() #

Retourne le jeton d'authentification sous forme de chaîne de caractères.

Returns:

Type Description
str

Un jeton valide

Raises:

Type Description
AuthentificationError

Levée si la récupération de jeton échoue au bout de nb_attempts tentatives

get_http_header(json_content_type=False) #

Renvoie une entête HTTP d'authentification à destination de KeyCloak et consommable par une requête via le module requests.

Parameters:

Name Type Description Default
json_content_type bool

indique si le content-type application/json doit être spécifié

False

Returns:

Type Description
Dict[str, str]

Dictionnaire de la forme : {"Authorization": "Bearer <JETON>", "content-type":"application/json"}

Raises:

Type Description
AuthentificationError

Levée si la récupération de jeton a posé problème

revoke_token() #

Révoque le token actuellement utilisé pour forcer la récupération d'un nouveau token.

Token(token_dict) #

Représente un jeton KeyCloak. Ce jeton est caractérisé par ensemble d'informations clé-valeur et une date d'expiration.

Attributes:

Name Type Description
__token_dict dict

Stockage du jeton {"access_token": "valeur-du-jeton", "expires_in": temps-en-secondes}

__expiration_date datetime

Date d'expiration du jeton

À l'instanciation : on stocke l'ensemble d'informations clé-valeur et on calcule la date d'expiration à partir de son délai d'expiration.

Parameters:

Name Type Description Default
token_dict dict

Jeton tel que renvoyé par le service d'authentification : {"access_token": "valeur-du-jeton", "expires_in": temps-en-secondes}

required

get_access_string() #

Retourne le jeton d'authentification sous forme de chaîne de caractères.

Returns:

Name Type Description
str str

Jeton d'accès

is_valid() #

Indique si le jeton est valide par rapport à sa date d'expiration.

Returns:

Name Type Description
bool bool

True si le jeton est valide

AuthentificationError(message) #

Bases: GpfSdkError

Est levée quand un problème apparaît durant la récupération d'informations d'authentification

Attr

__message (str): message décrivant le problème

Constructor

Parameters:

Name Type Description Default
message str)

message décrivant le problème

required