DevPortalPagoPA


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'
6

Risposta del server

Riceverai un JSON contenente il token Bearer:
1{
2  "access_token": "eyJhbGciOi...",
3  "token_type": "Bearer",
4  "expires_in": 3600
5}
6

3. 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...
4

4. 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.