Flusso di accesso dell'app con Microsoft Identity Platform

Questo argomento illustra il flusso di accesso di base per app Web, desktop e per dispositivi mobili con Microsoft Identity Platform. Per informazioni sugli scenari di accesso supportati da Microsoft Identity Platform, vedere Flussi di autenticazione e scenari di app.

Flusso di accesso alle app Web

Quando un utente accede dal browser a un'app Web, si verifica quanto segue:

  • L'app Web determina se l'utente è autenticato.
  • Se l'utente non è autenticato, l'app Web delega a Microsoft Entra ID per accedere all'utente. Tale accesso sarà conforme ai criteri dell'organizzazione, che possono ad esempio richiedere all'utente di immettere le proprie credenziali, usando l'autenticazione a più fattori (talvolta definita autenticazione a due fattori o 2FA), oppure non richiedere l'immissione di alcuna password, ad esempio usando Windows Hello.
  • All'utente viene richiesto di fornire il consenso per l'accesso necessario per l'app client. Ecco perché le app client devono essere registrate con Microsoft Entra ID, in modo che Microsoft Identity Platform possa recapitare token che rappresentano l'accesso a cui l'utente ha acconsentito.

Dopo l'autenticazione dell'utente:

  • Microsoft Identity Platform invia un token all'app Web.
  • Un cookie viene salvato, associato a un dominio Microsoft Entra, che contiene l'identità dell'utente nel file JAR del cookie del browser. La volta successiva che un'app usa il browser per passare all'endpoint di autorizzazione di Microsoft Identity Platform, il browser presenta il cookie in modo che l'utente non debba eseguire di nuovo l'accesso. Questo è anche il modo in cui funziona l'accesso SSO. Il cookie viene prodotto da Microsoft Entra ID e può essere compreso solo da Microsoft Entra ID.
  • L'app Web convalida quindi il token. Se la convalida ha esito positivo, l'app Web visualizza la pagina protetta e salva un cookie di sessione nell'archivio cookie del browser. Quando l'utente passa a un'altra pagina, l'app Web sa che l'utente è autenticato in base al cookie di sessione.

Il diagramma della sequenza seguente riepiloga questa interazione:

web app authentication process

In che modo l'app Web determina se l'utente è autenticato

Gli sviluppatori di app Web possono indicare se tutte o solo determinate pagine richiedono l'autenticazione. Ad esempio, in ASP.NET/ASP.NET Core questa operazione viene eseguita aggiungendo l'attributo [Authorize] alle azioni del controller.

Questo attributo fa in modo che ASP.NET verifichi la presenza di un cookie di sessione contenente l'identità dell'utente. Se non è presente un cookie, ASP.NET reindirizza l'autenticazione al provider di identità specificato. Se il provider di identità è Microsoft Entra ID, l'app Web reindirizza l'autenticazione a https://login.microsoftonline.com, che visualizza una finestra di dialogo di accesso.

Come un'app Web delega l'accesso a Microsoft Identity Platform e ottiene un token

L'autenticazione utente avviene tramite il browser. Il protocollo OpenID usa messaggi di protocollo HTTP standard.

  • L'app Web invia una richiesta HTTP 302 (reindirizzamento) al browser per usare Microsoft Identity Platform.
  • Quando l'utente viene autenticato, Microsoft Identity Platform invia il token all'app Web usando un reindirizzamento tramite il browser.
  • Il reindirizzamento viene fornito dall'app Web sotto forma di URI di reindirizzamento. Questo URI di reindirizzamento viene registrato con l'oggetto applicazione Microsoft Entra. Possono essere presenti diversi URI di reindirizzamento perché l'applicazione potrebbe essere stata distribuita in numerosi URL. Di conseguenza, l'app Web dovrà specificare l'URI di reindirizzamento da usare.
  • Microsoft Entra ID verifica che l'URI di reindirizzamento inviato dall'app Web sia uno degli URI di reindirizzamento registrati per l'app.

Flusso di accesso alle app desktop e per dispositivi mobili

Il flusso descritto in precedenza si applica, con lievi differenze, anche alle applicazioni desktop e per dispositivi mobili.

Per l'autenticazione, le applicazioni desktop e per dispositivi mobili possono usare un controllo Web incorporato o un browser di sistema. Il diagramma seguente illustra come un'app desktop o per dispositivi mobili usa Microsoft Authentication Library (MSAL) per acquisire i token di accesso e chiamare le API Web.

Desktop app how it appears to be

MSAL usa un browser per ottenere i token. Come per le app Web, l'autenticazione viene delegata a Microsoft Identity Platform.

Poiché Microsoft Entra ID salva lo stesso cookie di identità nel browser come per le app Web, se l'app nativa o per dispositivi mobili usa il browser di sistema, otterrà immediatamente l'accesso SSO con l'app Web corrispondente.

Per impostazione predefinita, MSAL usa il browser di sistema. Fanno eccezione le applicazioni destkop .NET Framework in cui viene usato un controllo incorporato per offrire un'esperienza utente più integrata.

Passaggi successivi

Per altri argomenti relativi alle informazioni di base su autenticazione e autorizzazione:

Per altre informazioni sul flusso di accesso alle app:

  • Per altre informazioni su altri scenari di autenticazione degli utenti supportati da Microsoft Identity Platform, vedere Flussi di autenticazione e scenari di app.
  • Vedere librerie MSAL per informazioni sulle librerie Microsoft che consentono di sviluppare applicazioni che funzionano con account Microsoft, account Microsoft Entra e utenti di Azure AD B2C in un unico modello di programmazione semplificato.