L’API usa OAuth 2.0 con PKCE per l’autenticazione.
AvvertenzaL’autenticazione di base è deprecata e verrà rimossa in un aggiornamento futuro. Passa a OAuth 2.0.
client_idLa 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.
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.
Genera il code verifier e il code challenge PKCE:
A-Z, a-z, 0-9, -, ., _, ~): è il tuo code_verifiercode_challengePoi 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.
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.
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
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.
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ì.