Sdílet prostřednictvím


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

Microsoft Authentication Library pro JavaScript (MSAL.js) v2.0 přináší podporu toku autorizačního kódu s infrastrukturou veřejných klíčů a CORS na jednostránkové aplikace na platformě Microsoft Identity Platform. Pokud chcete migrovat aplikaci MSAL.js 1.x pomocí implicitního udělení MSAL.js 2.0+ ( 2.x) a toku ověřovacího kódu, postupujte podle kroků v následujících částech.

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.

Kroky 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 identifikátory URI přesměrování registrace aplikace z webové platformy na jednostrákovou aplikační platformu.
  2. Aktualizujte kód z MSAL.js 1.x na 2.x.
  3. Pokud byly všechny aplikace sdílející registraci aktualizovány na MSAL.js 2.x a tok ověřovacího kódu, zakažte implicitní udělení v registraci aplikace.

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

Přepnutí identifikátorů URI přesměrování na platformu SPA

Tip

Postup v tomto článku se může mírně lišit v závislosti na portálu, od který začínáte.

Pokud chcete pro své aplikace dál používat stávající registraci aplikace, aktualizujte identifikátory URI pro přesměrování registrace na platformu SPA pomocí Centra pro správu Microsoft Entra. 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 identifikátory URI přesměrování webové platformy, postupujte takto:

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

  2. Přejděte na Identity>Applications> Registrace aplikací, 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.

    Implicit flow warning banner on web app tile in Azure portal

  4. Vyberte pouze identifikátory URI pro přesměrování, jejichž aplikace budou používat MSAL.js 2.x, a pak vyberte Konfigurovat.

    Select redirect URI pane in SPA pane in Azure portal

Tyto identifikátory URI přesměrování by se teď měly zobrazovat na dlaždici jednostránka aplikační platformy, která ukazuje, že podpora CORS s tokem autorizačního kódu a infrastruktura veřejných klíčů je pro tyto identifikátory URI povolená.

Single-page application tile in app registration in Azure portal

Můžete také vytvořit novou registraci aplikace místo aktualizace identifikátorů URI přesměrování ve vaší stávající registraci.

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);

Úplný návod k přidání MSAL 2.x do aplikace najdete v kurzu : Přihlášení uživatelů a volání rozhraní Microsoft Graph API z jednostránkové aplikace JavaScriptu (SPA) pomocí toku kódu ověřování.

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

Zakázat implicitní nastavení udělení

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í v nabídce Ověřování 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.

Před aktualizací všech aplikací na MSAL.js 2.x a [PublicClientApplication][msal-js-publicclientapplication] nezakažujte implicitní tok udělení.

Další kroky

  • Další informace o toku autorizačního kódu, včetně rozdílů mezi toky implicitního a ověřovacího kódu, najdete na platformě Microsoft Identity Platform a toku autorizačního kódu OAuth 2.0.

  • Přečtěte si další informace o vytvoření jednostránkové aplikace React (SPA), která přihlašuje uživatele v následující vícedílné sérii kurzů.