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
- Visão Geral
- Configuração
- Autenticação caoANA
- Autenticação caoKeycloak
- Conferir Validade do Token
- Atualizar Token
- 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.