Ir al contenido

API

Introducción

La API del sistema utiliza autenticación basada en JWTs (JSON Web Tokens), un método auto-contido que no requiere almacenamiento de índices de tokens u otras formas de almacenamiento.

Tipos de Token

TipoDescripción
Token de AutenticaciónCreado por el Cliente API para autenticación y obtención del Token de Acceso
Token de AccesoCreado por el Sistema para acceder a recursos de la API

Flujos de API

Flujo de autenticación

sequenceDiagram
    participant Client as API Client
    participant Auth as Authentication Endpoint
    participant API as API
    Client->>Auth: Assina o JWT e envia ao Auth Endpoint
    Auth->>Auth: Decodifica o JWT e verifica a assinatura
    alt JWT Válido
        Auth->>Client: Cria e envia um JWT de acesso
        Client->>API: Armazena o JWT e utiliza no acesso à API
        API->>API: Verifica a autenticidade do token
        alt Token Válido
            API->>Client: Libera acesso e envia ao API Client
        else Token Inválido
            API->>API: Fim
        end
    else JWT Inválido
        Auth->>Auth: Fim
    end
    Client->>Client: Finaliza a requisição

Flujo de Refresh

sequenceDiagram
    participant Client as API Client
    participant Auth as Authentication Endpoint
    participant API as API
    alt Token próximo de expirar?
        Client->>Auth: Envia um JWT de autorização ainda não expirado
        Auth->>Auth: Verifica a autenticidade do token
        alt Token Válido
            Auth->>Client: Cria e envia um JWT de acesso
            Client->>Client: Armazena o JWT para uso
        else Token Inválido
            Auth->>Auth: Fim
        end
    else Token não próximo de expirar
        Client->>API: Utiliza o token e envia a requisição
        API->>API: Verifica a autenticidade do token
        alt Token Válido
            API->>Client: Libera acesso e envia resposta
        else Token Inválido
            API->>API: Fim
        end
    end
    Client->>Client: Finaliza a requisição
Los tokens tienen tiempo de caducidad configurable (máximo 24h). Tokens válidos se pueden usar para solicitar nuevos tokens vía refresh.

Consideraciones Finales

La implementación de JWTs ofrece un método seguro y eficiente de autenticación, eliminando la necesidad de almacenamiento de estados en el servidor. El sistema de refresh permite mantener sesiones activas de forma segura, mientras que el límite de 24h garantiza la renovación periódica de las credenciales.

Lea también