# About

Il MAT Auth Manager API offre una soluzione sicura, affidabile e facile da integrare per la gestione dei processi di autenticazione. È ideale per applicazioni che necessitano di autenticare utenti o servizi tramite diversi provider di autenticazione. La nostra API supporta varie operazioni, inclusi l'ottenimento di token per applicazioni, il rinnovo di token e il controllo dei permessi degli utenti.

Questa API è costruita sui principi di semplicità e flessibilità. Offre vari endpoint, ognuno dei quali serve uno scopo specifico nel processo di gestione dell'autenticazione. Che si tratti di autenticare un'applicazione, rinnovare un token esistente o verificare i permessi di un utente, la nostra API offre un approccio snello e sicuro.

### Caratteristiche Principali

* **Autenticazione Sicura**: Utilizzando l'Autenticazione di Base, la nostra API garantisce un'interazione sicura con tutti gli endpoint.
* **Gestione dei Token per le Applicazioni**: Recupero e gestione semplici dei token specifici per le applicazioni.
* **Capacità di Rinnovo del Token**: Meccanismo efficiente e sicuro per il rinnovo dei token esistenti.
* **Controllo dei Permessi degli Utenti**: Endpoint robusto per verificare i permessi assegnati a un token utente.

### Flusso di acquisizione del dato

<figure><img src="https://content.gitbook.com/content/USMY1XYpHB2pXeR5EN4G/blobs/bHwtvpVi0Iu1zw93ZLSN/image.png" alt=""><figcaption><p>Lo schema illustra l'interazione tra due servizi: il Gestore dell'Autenticazione (Auth Manager) e il Gestore dei Dati (Data Manager), mentre interagiscono con un Servizio di Terze Parti e il Database MAT (Database dei Clienti).</p></figcaption></figure>

1. **Acquisizione del Token**: Il processo inizia con un Servizio di Terze Parti che ottiene un TOKEN. Utilizza le credenziali dell'applicazione per richiedere questo TOKEN dal Server di Autenticazione. L'Auth Manager facilita questo processo verificando le credenziali dell'applicazione e rilasciando un TOKEN se le credenziali sono valide.
2. **Richiesta dei Dati**: Con il TOKEN acquisito, il Servizio di Terze Parti richiede i dati al Data Manager. Invia una richiesta contenente il TOKEN per accedere ai dati desiderati.
3. **Validazione del Token**: Al ricevimento della richiesta di dati, il Data Manager non recupera immediatamente i dati. Invece, invia prima una richiesta all'Auth Manager per validare il TOKEN.
4. **Verifica**: L'Auth Manager controlla la validità del TOKEN consultando il Server di Autenticazione. Il server conferma se il TOKEN è ancora valido e informa l'Auth Manager.
5. **Recupero dei Dati**: Una volta che l'Auth Manager ha validato il TOKEN, comunica ciò al Data Manager. Successivamente, il Data Manager procede al recupero dei dati richiesti dal Database dei Clienti, assumendo che il TOKEN sia valido.
6. **Fornitura dei Dati**: Infine, il Data Manager fornisce i dati richiesti al Servizio di Terze Parti, completando la transazione.

Questo flusso di lavoro assicura che solo i Servizi di Terze Parti autenticati e autorizzati possano accedere ai dati, mantenendo l'integrità e la sicurezza del Database dei Clienti. Il sistema di TOKEN agisce come un cancello che impone autenticazione e autorizzazione, proteggendo così le informazioni sensibili e le risorse.
