Partager via


Migrer une application monopage JavaScript de l’octroi implicite vers le flux de code d’autorisation

La bibliothèque d’authentification Microsoft pour JavaScript (MSAL.js) v2.0 offre une prise en charge du flux de code d’autorisation avec PKCE et CORS pour les applications monopages sur la plateforme d’identités Microsoft. Suivez les étapes décrites dans les sections ci-dessous pour migrer votre application MSAL.js 1.x à l’aide de l’octroi implicite vers MSAL.js 2.0+ (ci-après 2.x) et le flux de code d’authentification.

MSAL.js 2.x offre une amélioration par rapport à MSAL.js 1.x en prenant en charge le flux de code d’autorisation dans le navigateur au lieu du flux d’octroi implicite. MSAL.js 2.x ne prend pas en charge le flux implicite.

Effectuer des étapes de migration

Pour mettre à jour votre application vers MSAL.js 2.x et le flux de code d’authentification, trois étapes principales sont nécessaires :

  1. Changez l’URI de redirection de l’enregistrement de votre application de la plateforme Web à la plateforme Application à page unique.
  2. Mettez à jour votre code de MSAL.js 1.x à 2.x.
  3. Désactivez l’octroi implicite dans l'enregistrement de votre application lorsque toutes les applications partageant cet enregistrement ont été mises à jour vers MSAL.js 2.x et le flux de code d'autorisation.

Les sections suivantes décrivent en détail chaque étape.

Basculer les URI de redirection vers la plateforme SPA

Si vous souhaitez continuer à utiliser votre inscription d’application existante pour vos applications, utilisez le centre d’administration Microsoft Entra pour mettre à jour les URI de redirection de l’inscription vers la plateforme SPA. Cela active le flux de code d’autorisation avec prise en charge de PKCE et CORS pour les applications qui utilisent l’inscription (vous devez quand même mettre à jour le code de votre application vers MSAL.js v2.x).

Procédez comme suit pour les inscriptions d’applications actuellement configurées avec des URI de redirection de plateforme web :

  1. Connectez-vous au Centre d’administration Microsoft Entra.

  2. Accédez à Entra ID>Inscriptions d'application, sélectionnez votre application, puis Authentification.

  3. Dans la vignette plateforme web sous URI de redirection, sélectionnez la bannière d’avertissement indiquant que vous devez migrer vos URI.

    Bannière d’avertissement concernant le flux implicite sur la vignette de l'application web dans le centre d’administration Entra.

  4. Sélectionnez uniquement les URI de redirection dont les applications utilisent MSAL.js 2.x, puis sélectionnez Configurer.

    Sélectionnez le volet URI de redirection dans le volet SPA dans le centre d’administration Entra.

Ces URI de redirection doivent maintenant apparaître dans le carreau de plateforme d’application monopage, indiquant que la prise en charge CORS avec le flux de code d’autorisation et PKCE est activée pour ces URI.

Tuile d’application à une page dans l’inscription d’application du portail Azure

Mettre à jour votre code vers MSAL.js 2.x

Dans MSAL 1.x, vous avez créé une instance d’application en initialisant un UserAgentApplication comme suit :

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

const msalInstance = new msal.UserAgentApplication(config);

Dans MSAL 2.x, vous devez à la place initialiser une [PublicClientApplication][msal-js-publicclientapplication] :

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

const msalInstance = new msal.PublicClientApplication(config);

Pour obtenir d’autres modifications que vous devrez peut-être apporter à votre code, consultez le guide de migration sur GitHub.

Désactiver les paramètres d’octroi implicite

Une fois que vous avez mis à jour toutes vos applications de production qui utilisent cet enregistrement d'application et son ID client vers MSAL 2.x et le flux de code d’autorisation, vous devez décocher les paramètres de consentement implicite dans le menu Authentification de l’enregistrement de l'application.

Quand vous désactivez les paramètres d’octroi implicite dans l’inscription d’application, le flux implicite est désactivé pour toutes les applications utilisant l’inscription et son ID client.

Ne désactivez pas le flux d’octroi implicite avant d’avoir mis à jour toutes vos applications pour MSAL.js 2.x et [PublicClientApplication][msal-js-publicclientapplication].

Étapes suivantes