Ir para o conteudo principal

Autenticacao da API da plataforma (JWT)

A API REST da vitalera utiliza autenticacao JWT (JSON Web Token) baseada no padrao OAuth 2.0.

Obtencao de credenciais

Contacte support@vitalera.io para solicitar:

  • Client ID -- identifica a sua aplicacao
  • Client Secret -- autentica a sua aplicacao
  • Application ID -- utilizado para rotacao de credenciais

Client Credentials Grant

Para integracoes servidor a servidor (machine-to-machine):

curl -X POST "https://api.vitalera.io/api/auth/tokens/" \
-H "Content-Type: application/json" \
-d '{
"grant_type": "client_credentials",
"client_id": "<CLIENT_ID>",
"client_secret": "<CLIENT_SECRET>"
}'

Resposta:

{
"access_token": "<ACCESS_TOKEN>",
"token_type": "Bearer",
"expires_in": 3600
}

Password Grant

Para fluxos de login de utilizadores (por exemplo, apps moveis ou web que autenticam utilizadores individuais):

curl -X POST "https://api.vitalera.io/api/auth/tokens/" \
-H "Content-Type: application/json" \
-d '{
"grant_type": "password",
"username": "<USERNAME>",
"password": "<PASSWORD>"
}'

Resposta:

{
"id_token": "<ID_TOKEN>",
"access_token": "<ACCESS_TOKEN>",
"refresh_token": "<REFRESH_TOKEN>",
"sub": "<USER_ID>"
}

Efetuar pedidos API

Inclua o access token no cabecalho Authorization de cada pedido:

curl -X GET "https://api.vitalera.io/api/plans/" \
-H "Authorization: Bearer <ACCESS_TOKEN>"

Validade do token

Os access tokens sao validos por 1 hora (3600 segundos). Quando um token expira, a API retorna HTTP 401 Unauthorized:

{
"errors": [
{
"errorType": "expired_token",
"message": "Access token expired"
}
]
}

Atualizacao de token

Se obteve um refresh token (via password grant), pode atualizar o seu access token sem se reautenticar:

curl -X POST "https://api.vitalera.io/api/auth/tokens/refresh/" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-d '{
"refresh_token": "<REFRESH_TOKEN>"
}'

Validacao de token

Verifique se um token ainda e valido:

curl -X GET "https://api.vitalera.io/api/auth/tokens/validate/" \
-H "Authorization: Bearer <ACCESS_TOKEN>"

Rotacao de credenciais

Por seguranca, efetue periodicamente a rotacao das suas credenciais de cliente. Isto requer um JWT valido e o application_id:

curl -X POST "https://api.vitalera.io/api/applications/rotate_credentials/" \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"application_id": "<APPLICATION_ID>"
}'

Resposta:

{
"id": "<APPLICATION_ID>",
"name": "TestApp",
"organization": "123",
"client_id": "<NEW_CLIENT_ID>",
"client_secret": "<NEW_CLIENT_SECRET>",
"application_types": ["API"]
}

Apos a rotacao, as credenciais anteriores sao invalidadas imediatamente.


Precisa de ajuda?

Contacte support@vitalera.io para assistencia na configuracao da autenticacao.