Coverage for src/henrri_connect/models/authentication.py: 100%

20 statements  

« prev     ^ index     » next       coverage.py v7.14.1, created at 2026-06-05 10:54 +0200

1""" 

2Modèles pour l'authentification avec l'API Henrri Connect. 

3 

4Attributs: 

5- AuthenticateRequest: Représente une requête d'authentification pour obtenir un token d'accès. 

6- TokenResponse: Représente la réponse d'une authentification réussie ou d'un rafraîchissement 

7de token. 

8- RefreshTokenRequest: Représente une requête de rafraîchissement du token d'accès. 

9""" 

10 

11from __future__ import annotations 

12 

13from .base import CamelModel 

14 

15class AuthenticateRequest(CamelModel): 

16 """ 

17 Représente une requête d'authentification pour obtenir un token d'accès. 

18 

19 Attributs: 

20 - client_id: Identifiant du client. 

21 - client_secret: Secret du client. 

22 """ 

23 client_id: str 

24 client_secret: str 

25 

26 

27class TokenResponse(CamelModel): 

28 """ 

29 Représente la réponse d'une authentification réussie ou d'un rafraîchissement de token. 

30 

31 Attributs: 

32 - access_token: Token d'accès. 

33 - identity_token: Token d'identité. 

34 - scope: Portée du token. 

35 - token_type: Type du token. 

36 - refresh_token: Token de rafraîchissement. 

37 - expires_in: Durée de validité du token en secondes. 

38 - is_error: Indique si la réponse contient une erreur. 

39 - error: Code de l'erreur (si applicable). 

40 - error_description: Description de l'erreur (si applicable). 

41 """ 

42 access_token: str | None = None 

43 identity_token: str | None = None 

44 scope: str | None = None 

45 token_type: str | None = None 

46 refresh_token: str | None = None 

47 expires_in: int = 0 

48 is_error: bool = False 

49 error: str | None = None 

50 error_description: str | None = None 

51 

52 

53class RefreshTokenRequest(CamelModel): 

54 """ 

55 Représente une requête de rafraîchissement du token d'accès. 

56 

57 Attributs: 

58 - refresh_token: Token de rafraîchissement. 

59 - client_id: Identifiant du client. 

60 - client_secret: Secret du client. 

61 - check_point: Point de contrôle (si applicable). 

62 """ 

63 refresh_token: str 

64 client_id: str | None = None 

65 client_secret: str | None = None 

66 check_point: str | None = None