Autenticazione
FabHub supporta due modelli: chiavi API per l'automazione di proprietà del tenant e OAuth per le applicazioni partner approvate che agiscono per conto di un tenant.
Chiavi API
Invia la chiave a ogni richiesta con l'header X-API-Key (è accettata anche la forma Authorization: Bearer <key>):
curl https://api.fabhub.app/v1/items \
-H "X-API-Key: $FABHUB_API_KEY"
- Prefissi:
pk_test_*per la non produzione,pk_live_*per la produzione. - Gestione: crea, assegna scope e revoca le chiavi in Impostazioni -> Integrazioni -> API.
- Conservazione: il segreto viene mostrato una sola volta. Tienilo sul lato server; ruota le chiavi esposte e revoca quelle inutilizzate.
Scope
Le chiavi portano scope a privilegio minimo. Una richiesta priva dello scope richiesto restituisce 403 con code: "SCOPE_REQUIRED".
| Scope | Concede |
|---|---|
items:read | Elenca e legge gli articoli |
items:write | Crea e aggiorna gli articoli |
orders:read | Elenca gli ordini |
contacts:read | Elenca i contatti |
organization:read | Legge il profilo dell'organizzazione |
usage:read | Legge il riepilogo di utilizzo dell'API |
audit:read | Esporta gli eventi di audit (Enterprise) |
webhooks:read | Elenca e legge gli endpoint webhook |
webhooks:write | Crea e aggiorna gli endpoint webhook (Enterprise) |
webhooks:delete | Elimina gli endpoint webhook |
webhooks:deliveries:read | Legge i tentativi di consegna dei webhook |
Ispezione di una credenziale
GET /v1/auth/context restituisce il tenant, il piano, gli scope, il livello di rate limit e la scadenza per la chiave chiamante: utile per la diagnostica e per fallire rapidamente quando manca uno scope.
OAuth
OAuth è il modello per le app partner. Le applicazioni approvate usano Authorization Code con PKCE per l'accesso mediato dall'utente, oppure Client Credentials per l'accesso confidenziale macchina-a-macchina approvato.
Endpoint pubblici:
GET /oauth/authorizePOST /oauth/tokenPOST /oauth/revoke
L'endpoint dei token emette una chiave API del tenant con scope (una credenziale pk_live_* / pk_test_*) restituita come access_token con token_type: Bearer. Inviala come Authorization: Bearer <token> oppure come X-API-Key. L'API ricontrolla tenant, piano, stato dell'app e scope a ogni richiesta, quindi l'accesso revocato o ridimensionato ha effetto immediato.
Autorizzazione MCP ospitato
Le richieste MCP ospitato usano credenziali bearer con scope limitato alla risorsa dell'API pubblica. Gli strumenti MCP corrispondono uno a uno agli scope dell'API pubblica, gli strumenti di scrittura richiedono un input di conferma esplicito e le credenziali non vengono persistite dal processo MCP.