sagace.auth.domain package — sagace 2025 documentation

# sagace.auth.domain package

## Submodules

## sagace.auth.domain.authentication_repository module

### Descrição:

Este módulo implementa a autenticação de usuários no sistema SAGACE, utilizando um repositório de autenticação para verificação das credenciais e armazenamento do token de acesso.

Principais funcionalidades:

- Autenticação de usuários por meio de credenciais.

- Armazenamento do token JWT retornado pela API.

- Interface para diferentes métodos de armazenamento de tokens.

Classes:

- `AuthenticateUser`: Classe responsável por gerenciar a autenticação de usuários.

- `AuthenticationRepository`: Interface abstrata para repositórios de autenticação.

Exemplo de uso:

    from sagace.auth import AuthenticateUser
    from sagace.domain import AuthenticationRepository
    from sagace.core import TokenStorage

    repo = AuthenticationRepository()
    token_storage = TokenStorage()
    auth = AuthenticateUser(repo)
    token = auth.execute("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:

  3. Ampere Consultoria Ltda

Projeto Original:

  sagace-v2-package

IDE:

  PyCharm

class sagace.auth.domain.authentication_repository.AuthenticationRepository

  Bases: `ABC`

  Interface abstrata para repositórios de autenticação.

  Esta interface define o contrato para qualquer classe que implemente um repositório de autenticação, garantindo a padronização do método de autenticação.

  Princípios aplicados:

  - Dependency Inversion (D - SOLID): Depende de abstração para desacoplamento, garantindo flexibilidade na implementação sem afetar os consumidores dessa interface.

  _abc_impl = <_abc._abc_data object>
  abstractmethod authenticate(base_url: str, username: str, password: str, application_token: str, token_storage: TokenStorage) → Token

    Autentica um usuário 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.

      - application_token (str) – Token da aplicação para autenticação.

      - token_storage (TokenStorage) – Objeto responsável por armazenar o token JWT.

    Returns:

      Token JWT retornado pela API.

    Return type:

      Token

## 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