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:

Token

Raises:

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