Sdílet prostřednictvím


Migrace jednostránkové aplikace JavaScriptu z implicitního udělení do toku ověřovacího kódu

Microsoft Authentication Library pro JavaScript (MSAL.js) v2.0 přináší podporu toku autorizačního kódu s PKCE a CORS pro jednostránkové aplikace na platformě Microsoft Identity Platform. Postupujte podle kroků v následujících částech a migrujte aplikaci MSAL.js 1.x pomocí implicitního udělení MSAL.js 2.0+ (dále 2.x) a toku ověřovacího kódu.

MSAL.js 2.x zlepšuje MSAL.js 1.x tím, že podporuje tok autorizačního kódu v prohlížeči místo implicitního toku udělení. MSAL.js 2.x nepodporuje implicitní tok.

Provedení kroků migrace

Pokud chcete aplikaci aktualizovat na MSAL.js 2.x a tok ověřovacího kódu, existují tři primární kroky:

  1. Přepněte registraci aplikace tak, aby identifikátory URI přesměrování byly z webové platformy na platformu jednostránková aplikace.
  2. Aktualizujte kód z MSAL.js 1.x na 2.x.
  3. Jakmile budou všechny aplikace sdílející registraci aktualizovány na MSAL.js 2.x a tok autentizačního kódu, zakažte implicitní udělení v registraci vaší aplikace.

Následující části popisují jednotlivé kroky podrobněji.

Přepněte přesměrovací URI na platformu SPA

Pokud chcete i nadále používat stávající registraci aplikace pro své aplikace, v Centru pro správu Microsoft Entra aktualizujte přesměrovací URI registrace na platformu SPA. To umožňuje tok autorizačního kódu s podporou PKCE a CORS pro aplikace, které používají registraci (stále potřebujete aktualizovat kód aplikace na MSAL.js v2.x).

Pro registrace aplikací, které jsou aktuálně nakonfigurované s adresami pro přesměrování webové platformy, postupujte takto:

  1. Přihlaste se do Centra pro správu Microsoft Entra.

  2. Přejděte kregistracím aplikace>, vyberte aplikaci a pak ověřování.

  3. Na dlaždici webové platformy v části Identifikátory URI přesměrování vyberte banner s upozorněním, že byste měli migrovat identifikátory URI.

    Banner s upozorněním na implicitní tok na dlaždici webové aplikace v Centru pro správu Entra

  4. Vyberte pouze URI přesměrování, které budou používat aplikace s MSAL.js 2.x, a pak vyberte Konfigurovat.

    V Centru pro správu Entra vyberte podokno přesměrování URI v podokně SPA.

Tyto přesměrovací URI by se nyní měly zobrazovat na dlaždici platformy jednostránková aplikace, což ukazuje, že pro tyto URI je povolena podpora CORS s tokem autorizačního kódu a PKCE.

Dlaždice jednostrákové aplikace v registraci aplikace na webu Azure Portal

Aktualizace kódu na MSAL.js 2.x

V MSAL 1.x jste vytvořili instanci aplikace inicializací UserAgentApplication následujícím způsobem:

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

const msalInstance = new msal.UserAgentApplication(config);

V MSAL 2.x inicializovat místo toho [PublicClientApplication][msal-js-publicclientapplication]:

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

const msalInstance = new msal.PublicClientApplication(config);

Další změny, které možná budete muset udělat v kódu, najdete v průvodci migrací na GitHubu.

Zakázat implicitní nastavení povolení

Po aktualizaci všech produkčních aplikací, které používají tuto registraci aplikace a ID klienta na MSAL 2.x a tok autorizačního kódu, byste měli zrušit zaškrtnutí implicitního nastavení udělení oprávnění v nabídce Autentizace registrace aplikace.

Když zrušíte zaškrtnutí implicitního nastavení udělení v registraci aplikace, implicitní tok se zakáže pro všechny aplikace používající registraci a ID klienta.

Nezakazujte implicitní tok udělení, dokud neaktualizujete všechny své aplikace na MSAL.js 2.x a [PublicClientApplication][msal-js-publicclientapplication].

Další kroky