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:

Modulo di login Web.UP con Azure
Modulo di login Web.UP con Azure
  • Viene visualizzato il modulo di login di Azure:
Modulo di login standard di Azure
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:

Configurazione modulo di login Web.UP che utilizza 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