# Configurazione OAuth2

A partire dalla versione 2.4.24, il gestionale OpenSTAManager supporta l'autenticazione OAuth2 per l'accesso agli account di posta elettronica attraverso il pannello OAuth2 del modulo **Account email**.

![Modulo Account email con pannello OAuth2](https://3521338791-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaF5PSva1n5cEMIhtDxSA%2Fuploads%2FbrI4FYpugzRZ3gde2fN4%2Fimage.png?alt=media)

Per abilitare l'autenticazione OAuth2 per un account email è necessario utilizzare la relativa checkbox **Abilita OAuth2** e selezionare il **Provider** tra quelli disponibili. A seguito di queste azioni, comparirà un link dinamico a questa documentazione che descrive le procedure da utilizzare per ottenere **Client ID e Secret** sulla base del provider selezionato.

## Google

L'accesso all'account Google tramite OAuth2 richiede la seguente configurazione nel modulo **Account email**:

| **Configurazione IMAP**                                                                                                                     | **Configurazione SMTP**                                                                                                                                                                                      |
| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| <ul><li><strong>Server SMTP</strong>: imap.google.com</li><li><strong>Porta</strong>: 993</li><li><strong>Sicurezza</strong>: SSL</li></ul> | <ul><li><strong>Server</strong>: smtp.gmail.com</li><li><strong>Porta</strong>: 587 / 465</li><li><strong>Sicurezza</strong>: TSL / SSL</li><li><strong>Non verificare il certificato SSL</strong></li></ul> |

La configurazione dell'accesso OAuth2 per account Google si effettua all'indirizzo [https://console.developers.google.com/](https://console.developers.google.com), dove è necessario accedere con l'account interessato.

### Creazione progetto

Una volta raggiunta la Google Cloud Platform, si deve procedere a generare un *Nuovo progetto* appositamente denominato "OpenSTAManager"; in alternativa, se è disponibile un progetto pre-esistente, è possibile utilizzarlo.

![Schermata di Nuovo progetto](https://3521338791-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaF5PSva1n5cEMIhtDxSA%2Fuploads%2FZfPyqgnhbMLklgPuKonn%2Fimage.png?alt=media)

Dopo la creazione del progetto in questione, nella sezione Credenziali del menù di navigazione laterale è possibile procedere alla generazione della schermata e delle credenziali di accesso OAuth2.

### Impostazione schermata OAuth2

Il menu di navigazione laterale permette di accedere alla sezione per la configurazione della Schermata di consenso OAuth: qui è necessario selezionare **User Type** Esterno se non si ha accesso a Google Workspace.

![Selezione tipo schermata consenso OAuth2](https://3521338791-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaF5PSva1n5cEMIhtDxSA%2Fuploads%2F2Lo2roJ51yequFSHXryb%2FImmagine%202021-07-26%20150911.png?alt=media)

Una volta selezionato il tipo, sarà possibile configurare la schermata più nel dettaglio. Segue un esempio pratico (e incompleto) della configurazione: la parte rilevante per l'utilizzo ai fini del gestionale corrisponde ai **Domini autorizzati**, che devono contenere il dominio di installazione del gestionale. Le altre informazioni sono liberamente impostabili, compresi *Ambiti* e *Utenti di prova*.

![Impostazione base per schermata di consenso OAuth2](https://3521338791-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaF5PSva1n5cEMIhtDxSA%2Fuploads%2Fg1Cl29y7pYXfQCmjhp24%2Fconsenso.png?alt=media)

### Creazione credenziali

Una volta abilitata la schermata di consenso sopra indicata, è necessario attivare le credenziali di accesso OAuth attraverso l'opzione **Crea credenziali -> ID client OAuth** del menu **Credenziali**.

![Creazione credenziali OAuth2](https://3521338791-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaF5PSva1n5cEMIhtDxSA%2Fuploads%2FqsSabW7f9luhOD3YGQbq%2FImmagine%202021-07-26%20150634.png?alt=media)

Segue un esempio di impostazione delle informazioni necessarie per la creazione delle credenziali, dove in particolare nel campo **URI di reindirizzamento autorizzati** è necessario indicare l'indirizzo completo al file **oauth2.php** del gestionale in utilizzo. Nell'esempio, considerando OpenSTAManager disponibile a `https://osmcloud.it/oauth2/`: `https://osmcloud.it/oauth2/oauth2.php`.

![Esempio di compilazione informazioni per le credenziali OAuth2](https://3521338791-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaF5PSva1n5cEMIhtDxSA%2Fuploads%2FmkQhInPSasndBi7UXL8J%2Fimage.png?alt=media)

Una volta compilate le informazioni richieste, comparirà una schermata che riferisce **Client ID e Secret**: è \*\*\*\* necessario copiare i contenuti indicati nei rispettivi campi del modulo **Account email**.

![Schermata finale di creazione credenziali OAuth2](https://3521338791-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaF5PSva1n5cEMIhtDxSA%2Fuploads%2F5EhH2WWOSSVWP4ucddSL%2Fcreato.png?alt=media)

### Completamento configurazione

Una volta completati i passaggi precedenti, sarà possibile utilizzare il pulsante Completa configurazione del modulo **Account email** per completare l'inizializzazione dell'account via OAuth2.

## Microsoft

L'accesso all'account Microsoft tramite OAuth2 richiede la seguente configurazione nel modulo **Account email**:

| **Configurazione IMAP**                                                                                                                      | **Configurazione SMTP**                                                                                                                                                                              |
| -------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <ul><li><strong>Server</strong>: outlook.office365.com</li><li><strong>Porta</strong>: 993</li><li><strong>Sicurezza</strong>: SSL</li></ul> | <ul><li><strong>Server</strong>: smtp.office365.com</li><li><strong>Porta</strong>: 587</li><li><strong>Sicurezza</strong>: TLS</li><li><strong>Non verificare il certificato SSL</strong></li></ul> |

La configurazione dell'accesso OAuth2 per account Microsoft si effettua all'indirizzo [https://portal.azure.com/](https://portal.azure.com), dove è necessario accedere con l'account interessato.

### Registrazione App

Una volta all'interno del portale Azure, si deve navigare alla sezione **Azure Active Directory** dove viene presentata una panoramica dell'account di riferimento. In questa schermata è possibile individuare il campo **ID tenant**, che bisogna copiare per il rispettivo campo nel modulo **Account email**.

![Panoramica all'accesso del portale Azure](https://3521338791-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaF5PSva1n5cEMIhtDxSA%2Fuploads%2FX1SENBFhuq9bVL2wXKNf%2Factive-directory.png?alt=media)

![Tenant ID nella schermata di Panoramica](https://3521338791-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaF5PSva1n5cEMIhtDxSA%2Fuploads%2FESJQq85fr0N5GWcCcigF%2Ftenant.png?alt=media)

Una volta completata l'informazione di cui sopra, è necessario procedere alla registrazione di una applicazione dedicata per il servizio.

![Modalità di registrazione nuova applicazione](https://3521338791-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaF5PSva1n5cEMIhtDxSA%2Fuploads%2F1BclSBfVGQU8pk1t66N3%2Fregistra.png?alt=media)

Al momento della compilazione delle informazioni, è fondamentale impostare correttamente il campo **URI di reindirizzamento**. Nell'esempio, considerando OpenSTAManager disponibile a `https://osmcloud.it/oauth2/`: `https://osmcloud.it/oauth2/oauth2.php`.

![Compilazione dati per la registrazione applicazione](https://3521338791-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaF5PSva1n5cEMIhtDxSA%2Fuploads%2FoFT8nL5R0yuNjWbnu0eF%2Fdati.png?alt=media)

Una volta completato questo passaggio, viene reso disponibile il **Client ID** sotto il nome di **ID applicazione (client)**. La generazione del Client Secret avviene attraverso il menu laterale **Certificati e segreti**, che propone la creazione del segreto tramite il pulsante **Nuovo segreto client**: il **Client Secret** è quindi disponibile sotto il nome **Valore** del nuovo segreto.

![Creazione segreto applicazione](https://3521338791-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaF5PSva1n5cEMIhtDxSA%2Fuploads%2F5B3VQavKoIcbYXR4WBD7%2Fsegreto.png?alt=media)

### Autorizzazioni API

La configurazione dell'accesso Microsoft richiede inoltre la gestione delle autorizzazioni sulle informazioni che le credenziali create rendono disponibili. Ciò è possibile dal meni **Autorizzazioni API**, dove è necessario usare il pulsante **Aggiungi un'autorizzazione** e selezionare il provider **Microsoft Graph**.

Per l'utilizzo ai fini di invio email tramite protocollo SMTP, è necessario selezionare `offline_access` e `SMTP.Send.`

![Selezione tipologia di autorizzazioni](https://3521338791-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaF5PSva1n5cEMIhtDxSA%2Fuploads%2F3nQI3zCYKO5tUV1EMQs8%2Fapi.png?alt=media)

### Completamento configurazione

Una volta completati i passaggi precedenti, sarà possibile utilizzare il pulsante Completa configurazione del modulo **Account email** per completare l'inizializzazione dell'account via OAuth2.

## Problemi noti
