Tabella dei contenuti
Gestione della Sicurezza e Autenticazione
Il flusso Client Credentials è il metodo standard per l'autenticazione Machine-to-Machine (M2M). È ideale per servizi backend che devono consumare le nostre API in modo sicuro senza l'intervento di un utente finale.
1. Requisiti Iniziali
Per iniziare l'integrazione, il PSP recupera le credenziali dalla piattaforma "Area Riservata Enti":
- client_id: L'identificativo pubblico della tua applicazione.
- client_secret: La tua chiave segreta (trattala come una password).
2. Ottenere l'Access Token
Invia una richiesta POST all'endpoint di autorizzazione per scambiare le credenziali con un token temporaneo.
Endpoint: https://api-mcshared.dev.cstar.pagopa.it/auth/token
Esempio di richiesta (cURL)
1curl --location 'https://api-mcshared.dev.cstar.pagopa.it/auth/token'
2--header 'Content-Type: application/x-www-form-urlencoded'
3--data-urlencode 'client_secret=190xxxxxxxxxxxxx'
4--data-urlencode 'client_id=ceeexxxxxxxxxx'
5--data-urlencode 'grant_type=client_credentials'
6Risposta del server
Riceverai un JSON contenente il token Bearer:
1{
2 "access_token": "eyJhbGciOi...",
3 "token_type": "Bearer",
4 "expires_in": 3600
5}
63. Utilizzo del Token
Inserisci l'access_token nell'header HTTP Authorization per ogni chiamata verso le nostre API.
Esempio di chiamata API:
1GET /v1/risorsa HTTP/1.1
2Host: api.tuodominio.com
3Authorization: Bearer eyJhbGciOi...
44. Best Practice di Sicurezza
- Gestione del Token: Non richiedere un nuovo token per ogni singola chiamata. Memorizzalo e riutilizzalo fino alla sua scadenza (expires_in).
- Protezione del Secret: Non esporre mai il client_secret in codice sorgente pubblico o in applicazioni lato client (browser/mobile).
- HTTPS: Tutte le chiamate devono essere effettuate esclusivamente su protocollo TLS 1.2 o superiore.
5. Risorse Correlate
Il sito oauth.net è la risorsa comunitaria di riferimento che raccoglie tutte le specifiche, guide e librerie relative a OAuth 2.0.