Indice articolo
In questo articolo parleremo del rilascio della nuova modalità di login a Webup: tramite il servizio Microsoft Azure Active Directory.
Che cos’è Microsoft Azure Active Directory?
Microsoft Azure Active Directory è un servizio di gestione delle identità e degli accessi basato sul cloud.
Come funziona?
È stata creata la Web App azure-apis che si preoccupa di interfacciare Web.UP con Microsoft Azure Active Directory. Questo avviene tramite api proprietarie Azure che utilizzano il protocollo oauth2.
È necessario essere in possesso di un’utenza AS400 di sistema, condivisa da tutti gli utenti che utilizzano questo modulo di login.
Inoltre, è necessario un raccordo a sistema tra la mail, che verrà utilizzata per autenticarsi su Microsoft Azure Active Directory, ed il corrispettivo utente di sistema operativo, che verrà utilizzato da Web.UP come utente loggato. A questo proposito consultare la documentazione della UPP WE_110.
Il funzionamento è il seguente:

- Al click su “Accedi”, Web.UP esegue una redirect alla Web App azure-apis (https://<my-oauth-proxy>/azuread-apis/oauth2) che implementa il flusso oauth2 per l’autenticazione con “Azure B2C Active Directory”.
- Viene visualizzato il modulo di login di Azure:

- Tra i parametri passati all’api Azure c’è anche una url di callback verso Web.UP, sulla quale l’api Azure esegue la redirect una volta che l’utente si è autenticato con le sue credenziali.
- Alla url di callback, l’api Azure aggiunge anche il parametro
authAccessTokenURL
contenente un url temporaneo.
- L’indirizzo e-mail, indicato nel login, viene letto mediante GET dall’url temporaneo indicato nel parametro
authAccessTokenURL
.
- A questo punto viene creata una sessione su AS400 per eseguire la fun, inserita nel modulo di login, che valida l’e-mail e ritorna l’utente applicativo del caso.
- Viene quindi distrutta la sessione di sistema appena creata e ne viene creata una nuova passando, oltre all’utente di sistema, anche l’utente applicativo corrispondente a quell’indirizzo e-mail.
- Infine, si arriva alla home dell’utente.
Configurazione del modulo di login
Di seguito un esempio di un modulo di login configurato con Azure:

Nella Login Fun impostare la seguente fun:
F(EXB;WE_110_03;USR.OUT) INPUT(OUT({0})) P(IDP(AZU))
Nel campo Oauth proxy impostare:
https://<my-oauth-proxy>/azuread-apis/oauth2
Per avere anche il flusso di logout, nel campo Oauth proxy sign-out impostare:
https://<my-oauth-proxy>/azuread-apis/oauth2signout
sostituendo <my-oauth-proxy>
con l’indirizzo del server dove sarà pubblicata la Web App azure-apis.
Per la configurazione del server si rimanda alla documentazione della wiki del deliverable: https://labdocs.smeup.com/H3LS04-NW22000412/installazione