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:
- Přepněte identifikátory URI přesměrování registrace aplikace z webové platformy na jednostrákovou aplikační platformu.
- Aktualizujte kód z MSAL.js 1.x na 2.x.
- 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:
Přihlaste se do Centra pro správu Microsoft Entra.
Přejděte na Identity>Applications> Registrace aplikací, vyberte aplikaci a pak ověřování.
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.
Vyberte pouze identifikátory URI pro přesměrování, jejichž aplikace budou používat MSAL.js 2.x, a pak vyberte Konfigurovat.
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á.
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);
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ů.