Source code for sagace.core.token
"""
--------------------------------------------------------------------------------------------------------------------
Descrição:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Este módulo define uma estrutura para gerenciamento de tokens de autenticação dentro do sistema SAGACE.
A classe `Token` fornece um modelo estruturado para manipulação de tokens de acesso JWT.
Principais funcionalidades:
- Armazena e gerencia informações sobre o token JWT.
- Gera cabeçalhos de autenticação padronizados para requisições HTTP.
Classes:
- ``Token``: Representa um token de autenticação utilizado no sistema.
Exemplo de uso:
.. code-block:: python
from sagace.core import Token
token = Token(
base_url="https://api.sagace.online",
access_token="abc123",
application_name="Meu App",
description="Token de acesso para integração."
)
headers = token.get_auth_header()
print(headers)
Autor: Diego Yosiura
Última Atualização: 27/02/2025 15:30
Criado em: 27/02/2025 15:30
Copyright: (c) Ampere Consultoria Ltda
Projeto Original: sagace-v2-package
IDE: PyCharm
"""
from dataclasses import dataclass
[docs]
@dataclass
class Token:
"""
Representa um token de autenticação utilizado no sistema SAGACE.
A classe `Token` encapsula informações sobre tokens JWT, garantindo que
as requisições API possuam autenticação padronizada.
Princípios aplicados:
- **Single Responsibility (S - SOLID)**: A classe é responsável apenas pelo gerenciamento de tokens.
- **Encapsulamento**: Centraliza o controle dos tokens dentro da aplicação.
:param base_url: URL base da API autenticada.
:type base_url: str
:param access_token: Token de acesso JWT.
:type access_token: str
:param application_name: Nome da aplicação associada ao token.
:type application_name: str
:param description: Descrição do token.
:type description: str
:param token_type: Tipo do token (por padrão, JWT).
:type token_type: str, optional
"""
base_url: str
access_token: str
application_name: str
description: str
token_type: str = "JWT"