Skip to main content

Autenticação ANA

Introdução

Módulo Python para autenticação nas APIs da ANA e Keycloak, gerenciando tokens de acesso com validação e renovação automática.

Índice

  1. Visão Geral
  2. Configuração
  3. Autenticação caoANA
  4. Autenticação caoKeycloak
  5. Conferir Validade do Token
  6. Atualizar Token
  7. Obter Token

Visão Geral

Este módulo realiza:

  • Autenticação na API da ANA via token com validade de 10 minutos.
  • Autenticação no Keycloak usando client credentials.
  • Verificação automática da validade dos tokens.
  • Renovação de tokens expirados ou próximos da expiração.

Fluxo principal:

Configuração

Variáveis de ambiente obrigatórias:

AutenticacaoANA: LOGIN_URL: Endpoint de autenticação da ANA. IDENTIFICADOR: Usuário da API. PASSWORD: Senha da API.

AutenticacaoKeycloak: URL_KEYCLOAK: URL do Keycloak. REALM_KEYCLOAK: Realm configurado. IDENTIFICADOR_KEYCLOAK: Usuário. PASSWORD_KEYCLOAK: Senha. GRANT_TYPE_KEYCLOAK: Tipo de concessão (ex: password) CLIENT_ID_KEYCLOAK: Client ID. CLIENT_SECRET_KEYCLOAK: Segredo do cliente.

Autenticação ANA

Classe para autenticação na API da ANA.

Métodos principais:
confere_validade_token, atualiza_token, obtem_token.

Autenticação Keycloak

Classe para autenticação no Keycloak via client credentials. Métodos principais:
atualiza_token, obtem_token.

Conferir Validade do Token

Verifica se o token da ANA é válido por mais 30 segundos.

Retorno: True: se válido. False: se inválido ou ausente.

Atualizar Token

Renova o token de autenticação (ANA ou Keycloak).

Parâmetros (ANA): Headers com identificador e senha.

Parâmetros (Keycloak): Dados POST com credenciais e client secrets.

Retorno: str: Novo token.

Obter Token

Retorna token atual se válido; caso contrário, renova.

Retorno: str: Token válido para a API.