Aparência
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
| Tipo | Descrição |
|---|---|
| Token de Autenticação | Criado pelo Cliente API para autenticação e obtenção do Token de Acesso |
| Token de Acesso | Criado 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.
