Condividi tramite


Eseguire la migrazione di un'app a pagina singola JavaScript da una concessione implicita al flusso del codice di autorizzazione

Microsoft Authentication Library per JavaScript (MSAL.js) v2.0 fornisce il supporto per il flusso del codice di autorizzazione con PKCE e CORS alle applicazioni a pagina singola in Microsoft Identity Platform. Seguire la procedura descritta nelle sezioni seguenti per eseguire la migrazione dell'applicazione MSAL.js 1.x con la concessione implicita a MSAL.js 2.0+ (da qui in avanti 2.x) e il flusso del codice di autenticazione.

MSAL.js 2.x rappresenta un miglioramento rispetto a MSAL.js 1.x in quanto supporta il flusso del codice di autorizzazione nel browser invece del flusso di concessione implicita. MSAL.js 2.x NON supporta il flusso implicito.

Passaggi per la migrazione

Per aggiornare l'applicazione a MSAL.js 2.x e al flusso del codice di autenticazione, sono previsti tre passaggi principali:

  1. Modificare gli URI di reindirizzamento di registrazione app dalla piattaforma Web alla piattaforma di tipo applicazione a pagina singola.
  2. Aggiornare il codice da MSAL.js 1.x a 2.x.
  3. Disabilitare la concessione implicita nella registrazione app quando tutte le applicazioni che condividono la registrazione sono state aggiornate a MSAL.js 2.x e al flusso del codice di autenticazione.

Le sezioni seguenti descrivono ogni passaggio in modo più dettagliato.

Modificare gli URI di reindirizzamento alla piattaforma di tipo applicazione a pagina singola

Suggerimento

I passaggi descritti in questo articolo possono variare leggermente in base al portale da cui si inizia.

Se si vuole continuare a usare la registrazione app esistente per le applicazioni, usare l'interfaccia di amministrazione di Microsoft Entra per aggiornare gli URI di reindirizzamento della registrazione alla piattaforma di tipo applicazione a pagina singola. In questo modo, si abilita il flusso del codice di autorizzazione con il supporto PKCE e CORS per le app che usano la registrazione (è comunque necessario aggiornare il codice dell'applicazione a MSAL.js v2.x).

Seguire questa procedura per le registrazioni app che sono attualmente configurate con gli URI di reindirizzamento della piattaforma Web:

  1. Accedi all'Interfaccia di amministrazione di Microsoft Entra.

  2. Passare a Identità>Applicazioni>Registrazioni app e selezionare l'applicazione, quindi Autenticazione.

  3. Nel riquadro della piattaforma Web sotto gli URI di reindirizzamento selezionare il banner di avviso che indica che è necessario eseguire la migrazione degli URI.

    Banner di avviso del flusso implicito nel riquadro dell'app Web nel portale di Azure

  4. Selezionare solo gli URI di reindirizzamento le cui applicazioni useranno MSAL.js 2.x e quindi selezionare Configura.

    Riquadro di selezione degli URI di reindirizzamento nel riquadro dell'applicazione a pagina singola nel portale di Azure

Questi URI di reindirizzamento verranno ora visualizzati nel riquadro della piattaforma di tipo applicazione a pagina singola, che mostra che il supporto CORS con il flusso del codice di autorizzazione e PKCE sono abilitati per questi URI.

Riquadro dell'applicazione a pagina singola nella registrazione app del portale di Azure

È anche possibile creare una nuova registrazione app invece di aggiornare gli URI di reindirizzamento nella registrazione esistente.

Aggiornare il codice a MSAL.js 2.x

In MSAL 1.x è stata creata un'istanza dell'applicazione inizializzando un oggetto UserAgentApplication come indicato di seguito:

// MSAL 1.x
import * as msal from "msal";

const msalInstance = new msal.UserAgentApplication(config);

In MSAL 2.x, inizializzare invece un oggetto [PublicClientApplication][msal-js-publicclientapplication]:

// MSAL 2.x
import * as msal from "@azure/msal-browser";

const msalInstance = new msal.PublicClientApplication(config);

Per altre modifiche che potrebbe essere necessario apportare al codice, vedere la guida alla migrazione su GitHub.

Disabilitare le impostazioni per la concessione implicita

Dopo aver aggiornato tutte le applicazioni di produzione che usano questa registrazione app e il relativo ID client a MSAL 2.x e il flusso del codice di autorizzazione, deselezionare le impostazioni per la concessione implicita nel menu Autenticazione della registrazione app.

Quando si deselezionano le impostazioni per la concessione implicita nella registrazione app, il flusso implicito viene disabilitato per tutte le applicazioni che usano la registrazione e il relativo ID client.

Non disabilitare il flusso di concessione implicita prima di aver aggiornato tutte le applicazioni a MSAL.js 2.x e [PublicClientApplication][msal-js-publicclientapplication].

Passaggi successivi