sagace.auth.infrastructure package¶
Submodules¶
sagace.auth.infrastructure.authentication_api module¶
Descrição:¶
Este módulo implementa a autenticação de usuários no sistema SAGACE utilizando uma API externa. A classe AuthenticationAPI herda de AuthenticationRepository, garantindo a conformidade com o princípio de Dependency Inversion (D do SOLID), permitindo a substituição da implementação sem afetar os consumidores da interface.
Principais funcionalidades:
Realiza autenticação via API externa.
Armazena o token JWT utilizando TokenStorage.
Lança exceções apropriadas em caso de falha.
Classes:
AuthenticationAPI
: Implementação do repositório de autenticação via API.
Exemplo de uso:
from sagace.infrastructure import AuthenticationAPI
from sagace.core import TokenStorage
auth_api = AuthenticationAPI()
token_storage = TokenStorage()
token = auth_api.authenticate("https://api.sagace.online", "usuario", "senha", "app_token", token_storage)
print(token)
Autor: Diego Yosiura Última Atualização: 27/02/2025 15:31 Criado em: 27/02/2025 15:31 Copyright: (c) Ampere Consultoria Ltda Projeto Original: sagace-v2-package IDE: PyCharm
- class sagace.auth.infrastructure.authentication_api.AuthenticationAPI[source]¶
Bases:
AuthenticationRepository
Implementação da autenticação via API externa.
Esta classe implementa AuthenticationRepository, garantindo que qualquer mudança na forma de autenticação possa ser feita sem impactar os consumidores desta interface.
Princípios utilizados: - Dependency Inversion (D - SOLID): Utiliza uma abstração (AuthenticationRepository) para evitar dependências diretas. - Single Responsibility (S - SOLID): Responsável exclusivamente por autenticação via API. - Clean Architecture: Implementação no nível de infraestrutura, garantindo separação entre domínio e serviços externos.
- AUTH_URL = 'auth/base/login/'¶
- BASE_URL = 'https://demo.sagace.online/'¶
- _abc_impl = <_abc._abc_data object>¶
- authenticate(base_url: str, username: str, password: str, token: str, token_storage: TokenStorage) Token [source]¶
Autentica um usuário via API e retorna um token JWT.
- Parameters:
base_url (str) – URL base da API de autenticação.
username (str) – Nome de usuário para autenticação.
password (str) – Senha do usuário.
token (str) – Token da aplicação para autenticação.
token_storage (TokenStorage) – Instância responsável por armazenar o token JWT.
- Returns:
Token JWT retornado pela API.
- Return type:
- Raises:
APIRequestError – Se a API retornar um erro na requisição.
AuthenticationFailedError – Se os dados esperados não estiverem presentes na resposta.
Module contents¶
Description:¶
Obs.:
Author: @diego.yosiura Last Update: 27/02/2025 15:29 Created: 27/02/2025 15:29 Copyright: (c) Ampere Consultoria Ltda Original Project: sagace-v2-package IDE: PyCharm