Prezzi
Novità
Registrazione
Accedi
PrezziChi siamoContattaciTestimonianze
AccediRegistratiPassword dimenticata?
Termini di servizioInformativa sulla privacyTermini per sviluppatoriSicurezzaImpostazioni privacyGDPR
NovitàFunzionalitàCentro assistenzaStato del sistema
App iOSApp AndroidApp web

Autenticazione

L’API usa OAuth 2.0 con PKCE per l’autenticazione.

Avvertenza

L’autenticazione di base è deprecata e verrà rimossa in un aggiornamento futuro. Passa a OAuth 2.0.

Come funziona

  1. Crea una sola volta un’applicazione OAuth per ottenere un client_id
  2. Reindirizza l’utente all’endpoint di autorizzazione, dove accede
  3. Ricevi un codice di autorizzazione, che scambi con un token di accesso e un token di aggiornamento
  4. Usa il token di accesso per effettuare richieste all’API

La maggior parte delle librerie client OAuth 2.0 gestisce questo flusso automaticamente quando le indirizzi all’endpoint dei metadati del server /.well-known/oauth-authorization-server.

Tutti gli endpoint indicati di seguito sono relativi a https://api.attendium.com.

Creare l’applicazione OAuth

Crea un’applicazione OAuth in Attendium per ottenere il tuo client_id e, se si tratta di un’applicazione riservata, il tuo client_secret. Devi farlo solo una volta per ogni applicazione. Consulta Applicazioni OAuth.

Gli URI di reindirizzamento devono usare https, oppure http con un indirizzo di loopback (localhost, 127.0.0.1 o ::1) per lo sviluppo locale. Un’applicazione pubblica può usare anche uno schema URI a uso privato in notazione a dominio inverso, come com.example.app:/oauth/callback.

Creando un’applicazione OAuth, in Attendium o tramite la registrazione dinamica dei client, accetti i Termini per sviluppatori nella versione pubblicata in quel momento.

Autorizzare

Genera il code verifier e il code challenge PKCE:

  1. Crea una stringa casuale (43–128 caratteri, usando A-Z, a-z, 0-9, -, ., _, ~): è il tuo code_verifier
  2. Calcola l’hash SHA-256 del code verifier e codificalo in base64url: è il tuo code_challenge

Poi reindirizza l’utente a:

GET /oauth2/authorize?response_type=code
  &client_id=your-client-id
  &redirect_uri=https://yourapp.example.com/callback
  &code_challenge=your-code-challenge
  &code_challenge_method=S256
  &state=random-state-value

L’utente accede ad Attendium e torna al tuo redirect_uri con un code di autorizzazione e il tuo valore di state.

Scambiare il codice con i token

POST /oauth2/token
Content-Type: application/x-www-form-urlencoded

grant_type=authorization_code
&client_id=your-client-id
&redirect_uri=https://yourapp.example.com/callback
&code=the-authorization-code
&code_verifier=your-code-verifier

Un’applicazione riservata deve anche autenticarsi, con l’autenticazione di base (client_secret_basic) oppure inviando client_secret nel corpo della richiesta (client_secret_post):

POST /oauth2/token
Authorization: Basic base64(your-client-id:your-client-secret)
Content-Type: application/x-www-form-urlencoded

grant_type=authorization_code
&redirect_uri=https://yourapp.example.com/callback
&code=the-authorization-code
&code_verifier=your-code-verifier

La risposta include un access_token e un refresh_token.

Effettuare richieste all’API

Includi il token di accesso nell’intestazione Authorization:

curl -H "Authorization: Bearer your-access-token" \
     -H "Content-Type: application/json" \
     -d '{"query": "{ me { id } }"}' \
     https://api.attendium.com/graphql

Rinnovare il token di accesso

La risposta del token include un campo expires_in che indica per quanto tempo il token di accesso è valido. Usa il token di aggiornamento per ottenere un nuovo token di accesso prima che scada:

POST /oauth2/token
Content-Type: application/x-www-form-urlencoded

grant_type=refresh_token
&client_id=your-client-id
&refresh_token=your-refresh-token

Un’applicazione riservata autentica questa richiesta allo stesso modo dello scambio del codice di autorizzazione.

Registrazione dinamica dei client

Le applicazioni che si configurano a partire dai metadati del server, compresi gli assistenti IA che si collegano tramite MCP (consulta Configurare MCP), si registrano inviando una richiesta POST a /oauth2/register. Non ti serve se crei la tua applicazione OAuth in Attendium.

POST /oauth2/register
Content-Type: application/json

{
  "redirect_uris": ["https://yourapp.example.com/callback"],
  "client_name": "La mia applicazione"
}

Un’applicazione registrata in questo modo non compare in «Applicazioni OAuth», quindi il suo nome, i suoi URI di reindirizzamento e il suo segreto client non si possono modificare da lì.

Approfondimenti

  • OAuth 2.0 — oauth.net
  • PKCE — RFC 7636
  • Registrazione dinamica dei client — RFC 7591
Applicazioni OAuth