Autenticação
Para realizar a maioria das requisições no sistema, é necessário o usuário estar autenticado devidamente. Atualmente, o sistema disponibiliza duas formas de realizar autenticação: Por access token e por api-key
Autenticação por Access Token
Este é o método original para acessar as funcionalidades do sistema. Se trata de realizar uma requisição para a rota /login e obter o accessToken (e opcionalmente o refreshToken).
Em seguida, com as credenciais, é possível validar as requisições feitas para a API.
Obtendo as credenciais
Primeiro é necessário realizar uma requisição do tipo POST para a seguinte URL:
curl -X POST \
-H "Content-Type: application/json" \
-d '{"email": "seuemail@email.com", "password": "Senha321@"}' \
https://<endereço_da_api>/login
A resposta da requisição deve conter tanto os dados do usuário quanto as credenciais para usar nas requisições futuras:
{
"id": 1,
"name": "Seu Nome",
"email": "seuemail@email.com",
"phone": "000000000000",
"role": "supervisor",
"accessToken": "eyJhbGc ....", // Seu token de acesso
"refreshToken": "eyJhbGciO ...."
}
Autorizando as requisições
Com o token de acesso em mãos, agora é possível realizar as requisições que necessitam de autenticação, basta adicionar no cabeçalho da requisição, utilizando o padrão Bearer Authentication:
curl -X GET \
-H "Content-Type: application/json" \
-H 'Authorization: Bearer eyJhbGc ....' \ # Seu access token
https://<endereço_da_api>/orders
O token obtido é válido por um perídio limitado. Ao utilizar o token após esse período, uma mensagem de erro de autorização será retornada. Para continuar com suas requisições autorizadas, é necessário gerar outro token. Veja abaixo sobre o Refresh token
(Extra) Refresh token
"Um token de atualização (refresh token) é um tipo especial de credencial de longa duração que permite a um cliente obter novos tokens de acesso (access tokens) sem que o usuário precise fazer login novamente".
Para obter um novo Access Token, utilizando o Refresh Token, é necessário fazer uma requisição utilizando o próprio refresh token como autenticação.
curl -X GET \
-H "Content-Type: application/json" \
-H 'Authorization: Bearer eyJhbGc ....' \ # Seu refresh token
https://<endereço_da_api>/auth/refresh
Note que o refresh-token antigo será invalidado. Um novo access token e refresh token serão enviados na resposta da requisição para uso.
Autenticação por Api-Key
Uma outra forma de realizar autenticação é atráves da Api-key, uma forma mais definitiva e fixa de autenticação.
Como da forma anterior, basta enviar a autorização no cabeçalho da requisição.
Obtendo as credenciais
A chave de API é uma chave única e fixa, que é enviada após ser solicitada à um administrador do sistema. Essa chave deve ser protegida e mantida em um local seguro, pois ela representa a sua identidade dentro do sistema. Ela é instransferível.
Caso sua chave de API tenha sido perdida, contate imediatamente um administrador do sistema.
Autorizando as requisições
A autorização por api-key é feita através do cabeçalho x-api-key da seguinte forma:
curl -X GET \
-H "Content-Type: application/json" \
-H 'x-api-key: Bearer eyJhbGc ....' \ # Seu access token
https://<endereço_da_api>/orders