Autenticação¶
A autenticação na API é feita via JWT (JSON Web Token). Todas as requisições autenticadas devem incluir o token no header Authorization.
POST /auth/login¶
Autentica um usuário e retorna um token de acesso. Esse token deve ser usado para autenticar futuras requisições à API.
Cabeçalhos¶
| Header | Valor |
|---|---|
Content-Type |
application/json |
Accept |
application/hal+json |
Corpo da Requisição¶
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| string | sim | E-mail do usuário | |
| password | string | sim | Senha da conta |
Exemplo de Requisição¶
Bash
curl -X POST https://api-portal.mediquo.com.br/auth/login \
-H "Content-Type: application/json" \
-d '{
"email": "usuario@exemplo.com",
"password": "sua_senha"
}'
Resposta de Sucesso: 200 OK¶
| Campo | Tipo | Descrição |
|---|---|---|
token |
string | Token JWT para autenticar futuras requisições |
expiresIn |
integer | Tempo em milissegundos até a expiração (4h = 14.400.000 ms) |
Uso do Token
Inclua o token em todas as requisições autenticadas:
Respostas de Erro¶
| Código | Descrição |
|---|---|
| 400 | Campos obrigatórios ausentes |
| 401 | Credenciais inválidas |
| 429 | Limite de requisições excedido (máx. 10/min por IP) |
GET /auth/me¶
Retorna informações sobre o usuário autenticado.
Cabeçalhos¶
| Header | Valor |
|---|---|
Authorization |
Bearer {token} |
Accept |
application/hal+json |
Exemplo de Requisição¶
Bash
curl -X GET https://api-portal.mediquo.com.br/auth/me \
-H "Authorization: Bearer {seu_token}" \
-H "Accept: application/hal+json"
Resposta de Sucesso: 200 OK¶
JSON
{
"user": "usuario@exemplo.com",
"isValidToken": true,
"isAdministrator": false,
"otherInformation": {
"hub": false,
"partnerName": "Parceiro Exemplo",
"userName": "Administrador",
"partnerId": 1
},
"role": "[[ROLE_PARTNER]]"
}
| Campo | Tipo | Descrição |
|---|---|---|
user |
string | E-mail do usuário autenticado |
isValidToken |
boolean | Indica se o token é válido |
isAdministrator |
boolean | Indica se o usuário é administrador |
role |
string | Papel do usuário: ROLE_PARTNER, ROLE_CLIENT ou ROLE_BRANCH |
Objeto otherInformation:
| Campo | Tipo | Descrição |
|---|---|---|
hub |
boolean | Indica se o usuário é do tipo hub |
partnerName |
string | Nome do parceiro associado |
userName |
string | Nome do usuário |
partnerId |
integer | ID do parceiro ou cliente |
Respostas de Erro¶
| Código | Descrição |
|---|---|
| 401 | Token inválido ou expirado |
| 403 | Sem permissão |