API

Introdução

A API do Sistema utiliza autenticação baseada em JWTs (JSON Web Tokens), um método auto-contido que não requer armazenamento de índices de tokens ou outras formas de armazenamento.

Tipos de Token

TipoDescrição
Token de AutenticaçãoCriado pelo Cliente API para autenticação e obtenção do Token de Acesso
Token de AcessoCriado pelo Sistema para acessar recursos da API

Fluxos da API

Fluxo de Autenticação

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

Fluxo 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

Os tokens têm tempo de expiração configurável (máximo 24h). Tokens válidos podem ser usados para requisitar novos tokens via refresh.

Considerações Finais

A implementação de JWTs oferece um método seguro e eficiente de autenticação, eliminando a necessidade de armazenamento de estados no servidor. O sistema de refresh permite manter sessões ativas de forma segura, enquanto o limite de 24h garante a renovação periódica das credenciais.

Etiquetas

API JWT Autenticacao Seguranca TokenizacaoAPI

Leia Também