Vai al contenuto principale

Autenticazione dell'API piattaforma (JWT)

L'API REST vitalera utilizza l'autenticazione JWT (JSON Web Token) basata sullo standard OAuth 2.0.

Ottenimento delle credenziali

Contattate support@vitalera.io per richiedere:

  • Client ID -- identifica la vostra applicazione
  • Client Secret -- autentica la vostra applicazione
  • Application ID -- utilizzato per la rotazione delle credenziali

Client Credentials Grant

Per le integrazioni server-to-server (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>"
}'

Risposta:

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

Password Grant

Per i flussi di login utente (ad esempio, app mobili o web che autenticano utenti individuali):

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

Risposta:

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

Effettuare richieste API

Includete il token di accesso nell'header Authorization di ogni richiesta:

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

Validita dei token

I token di accesso sono validi per 1 ora (3600 secondi). Quando un token scade, l'API restituisce HTTP 401 Unauthorized:

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

Refresh dei token

Se avete ottenuto un refresh token (tramite password grant), potete aggiornare il vostro token di accesso senza re-autenticarvi:

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>"
}'

Validazione dei token

Verificate che un token sia ancora valido:

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

Rotazione delle credenziali

Per sicurezza, effettuate periodicamente la rotazione delle vostre credenziali client. Questo richiede un JWT valido e l'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>"
}'

Risposta:

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

Dopo la rotazione, le credenziali precedenti sono invalidate immediatamente.


Avete bisogno di aiuto?

Contattate support@vitalera.io per assistenza alla configurazione dell'autenticazione.