- Registrare le applicazioni su Google Cloud Platform e/o sul portale Azure.
- Generare le credenziali di account per queste applicazioni (Client ID e Client secret).
- Fornire le credenziali generate a Consul.
Registrazione dell’applicazione su Google
Creazione di un progetto su Google Cloud Platform
- Vai alla pagina New Project di Google Cloud Platform.
- Inserisci un nome per il tuo progetto e fai clic su Create.

- Attendi una notifica che confermi che il tuo progetto è stato creato.

Configurazione dell’applicazione
- Accedi alla Google Cloud Console e seleziona il progetto appropriato.

- Nel menu sul lato sinistro dello schermo, seleziona APIs & Services > OAuth consent screen.

- Seleziona il tipo di utente External e fai clic su Create.
- Specifica un nome per l’applicazione. Nell’elenco a discesa User support email, seleziona il tuo indirizzo Gmail.

- Specifica l’indirizzo e-mail dello sviluppatore nella sezione Developer contact information nella parte inferiore della pagina e fai clic su Save and continue.

- Fai clic su Add or remove scopes. Si aprirà la finestra di dialogo Update selected scopes sulla destra.
- Copia e incolla il seguente testo nel campo Manually add scopes nella parte inferiore della finestra di dialogo e fai clic su Add to table:
Puoi anche selezionare manualmente gli scope. Devono essere selezionati i seguenti scope:
openidhttps://mail.google.com/../auth2/userinfo.email../auth2/userinfo.profile
- Fai clic su Update. Questa operazione chiuderà la finestra di dialogo Update selected scopes e mostrerà gli scope selezionati.

- Fai clic su Save and continue nella parte inferiore della schermata.
- Fai clic su Save and continue per ignorare le impostazioni della pagina Test users e passare alla pagina Summary.
Creazione delle credenziali dell’account
- Selezionare Credentials nel menu sul lato sinistro della schermata.
- Fare clic su + Create credentials e selezionare OAuth client ID.

- Selezionare il tipo di applicazione Web application.

- Nella sezione Authorized redirect URIs, selezionare + Add URI.

- Nel field che verrà visualizzato, specificare l’URI di reindirizzamento:

- Fare clic su Create.

Pubblicazione e verifica

https://mail.google.com/ consente all’applicazione di accedere a dati utente riservati, motivo per cui verrà visualizzato un messaggio che indica che l’applicazione deve essere verificata.
Per verificare l’applicazione, dovrai fornire:
- Un link ufficiale all’informativa sulla privacy dell’applicazione
- Un video YouTube che dimostri lo scopo dichiarato dell’acquisizione dei dati utente Google tramite l’applicazione
- Un testo indirizzato a Google che contenga una descrizione del motivo per cui richiedi l’accesso ai dati utente riservati
- Un elenco completo di tutti i tuoi domini verificati in Google Search Console

Prima che l’applicazione venga verificata, solo 100 utenti potranno utilizzarla. Il contatore degli utenti si trova nella parte inferiore della sezione OAuth consent screen e non può essere reimpostato per tutta la durata del progetto.

Registrazione dell’applicazione in Microsoft Azure
Registrazione dell’applicazione
- Passa alla pagina App registrations.
- Fai clic su New registration.
- Specifica un nome per la tua applicazione e seleziona i tipi di account supportati.

Se per l’applicazione viene selezionato il tipo Multitenant, sarà disponibile per gli utenti di qualsiasi tenant Azure AD. Tali applicazioni devono essere sottoposte a verifica, operazione possibile solo per i membri del Microsoft Partner Network. Se non ne fai parte, seleziona Single tenant, che renderà la tua app disponibile solo per gli utenti del tuo tenant Azure AD.
- Nella sezione Redirect URI, seleziona la piattaforma Web e specifica l’URI di reindirizzamento:

- Fai clic su Register.
Configurazione delle autorizzazioni per l’applicazione
- Passare alla scheda API permissions.

- Fare clic su Add permission.
- Nella finestra di dialogo che si apre, selezionare la sezione Microsoft Graph.

- Selezionare Delegated permissions.

- Aggiungere le seguenti autorizzazioni:
emailIMAP.AccessAsUser.Alloffline_accessopenidprofile
- Fare clic su Add permissions. Questo chiuderà la finestra di dialogo e mostrerà le autorizzazioni selezionate.
Creazione dei segreti client
- Passare alla scheda Authentication.

- Nella sezione Implicit grant and hybrid flows, selezionare ID tokens (used for implicit and hybrid flows).

- Fare clic su Save nella parte superiore della schermata.
- Passare alla scheda Certificates & secrets e fare clic su New client secret.

- Nella finestra di dialogo che si apre, specificare un nome per il segreto client e una data di scadenza.
La data di scadenza massima è di 24 mesi.
- Fare clic su Add. In questo modo si chiuderà la finestra di dialogo e verranno mostrate le informazioni sul nuovo segreto client.


Verifica dell’applicazione
- Passare alla scheda Branding & properties.

- Controllare che nel field Publisher domain sia specificato il dominio. Se necessario, configurare il dominio facendo clic su Configure a domain.

L’icona di avviso visualizzata accanto al nome di dominio indica che un’applicazione con il dominio specificato non può essere verificata. Fare clic su Update domain per specificare un altro dominio valido associato al tenant di Azure Active Directory. In alternativa, verificare un nuovo dominio.
- Nella sezione Publisher verification, specificare il proprio MPN ID e fare clic su Verify and save.
Se non si dispone delle autorizzazioni necessarie per aggiungere un MPN ID, verificare che tutti i requisiti per la publisher verification siano soddisfatti.
Fornire le credenziali a Consul
Prima di procedere con la configurazione, verifica che lo strumento da riga di comando kubectl sia installato e che tu sia connesso al cluster Kubernetes.
- Accedi all’interfaccia web di Consul eseguendo il seguente comando:
http://localhost:8500/ui/dc1/kv/secret/.
- Nella scheda Key/Value che si aprirà, selezionare l’ambito di distribuzione Vantage appropriato. Quindi selezionare il progetto vantage.

- Selezionare il servizio tokenmanagement.

- Passare alla sezione oAuthClientConfiguration.

- Selezionare il servizio per il quale si desidera specificare i dati utente (google o microsoft).

- Selezionare la chiave clientId.
- Copiare e incollare il valore del Client ID salvato in precedenza nel campo di inserimento e fare clic su Save.

- Ripetere i passaggi 6 e 7 per la chiave clientSecret.
- Riavviare il servizio tokenmanagement eseguendo il seguente comando:
Aggiornamento del Client secret
Aggiornamento del Client secret in Google
- Accedi alla Google Cloud Console e seleziona il progetto appropriato.
- Nel menu a sinistra, seleziona APIs & Services > Credentials.
- Nella sezione OAuth 2.0 Client IDs, seleziona l’identificatore utilizzato per l’autenticazione durante la connessione al server IMAP.
- Fai clic su Reset secret.

- Fai clic su Reset nella finestra di dialogo visualizzata. Questo aggiornerà il valore del Client secret, invalidando quello precedente.
- Scarica il file JSON contenente le credenziali. In alternativa, copia il valore del Client secret dalla parte destra dello schermo.

Aggiornamento del client secret in Microsoft Azure
- Vai alla pagina App registrations e seleziona l’applicazione utilizzata per l’autenticazione tramite server IMAP.

- Vai alla scheda Certificates & secrets e fai clic su New client secret.
- Nella finestra di dialogo che si aprirà, imposta un nome per il client secret e la sua data di scadenza.
- Fai clic su Add. La finestra di dialogo si chiuderà e verranno visualizzate le informazioni sul nuovo client secret. È importante copiare e salvare il Value, poiché non sarà più possibile accedervi dopo aver chiuso la pagina.
- Se il client secret corrente non è ancora scaduto, puoi eliminarlo in modo da utilizzare solo il nuovo client secret per identificare il client.
