MSAL を初めて使用する場合は、 ここから始める必要があります。
MSAL v1.x から来ている場合は、最初に このガイド を確認して MSAL v2.x に移行してから、次の手順に従う必要があります。
MSAL v2.x から来ている場合は、このガイドに従って、MSAL v3.x を使用するようにコードを更新できます。
破壊的な変更
アプリケーションのインスタンス化
MSAL v2.x では、次のようにアプリケーション インスタンスを作成しました。
import { PublicClientApplication } from "@azure/msal-browser";
const msalConfig = {
auth: {
clientId: 'your_client_id'
}
};
const msalInstance = new PublicClientApplication(msalConfig);
MSAL v3.x では、アプリケーション オブジェクトも初期化する必要があります。 自由に使用できるオプションがいくつかあります。
オプション 1
PublicClientApplication オブジェクトをインスタンス化し、後で初期化します。
initialize関数は非同期であり、他の MSAL.js API を呼び出す前に解決する必要があります。
import { PublicClientApplication } from "@azure/msal-browser";
const msalConfig = {
auth: {
clientId: 'your_client_id'
}
};
const msalInstance = new PublicClientApplication(msalConfig);
await msalInstance.initialize();
方法 2
初期化されたcreatePublicClientApplication オブジェクトを返すPublicClientApplication静的メソッドを呼び出します。 この関数は非同期であることに注意してください。
import { PublicClientApplication } from "@azure/msal-browser";
const msalConfig = {
auth: {
clientId: 'your_client_id'
}
};
const msalInstance = await PublicClientApplication.createPublicClientApplication(msalConfig);
要求ベースのキャッシュ
MSAL v2.x では、要求に要求を追加すると、要求された要求文字列のハッシュが既定でトークン キャッシュ キーに追加されます。 これは、MSAL 2.x が既定で要求に基づいてトークンをキャッシュして照合することを意味します。 MSAL v3.x では、この動作は既定ではなくなりました。 MSAL v3.x の既定の動作は、トークンが以前にキャッシュされていて、まだ有効であるかどうかに関係なく、要求が要求されるたびにトークンを更新するためにネットワークに移動することです。 次に、ネットワークに移動した後、要求のないサイレント要求が後で実行された場合に備えて、受信したトークンによってキャッシュされたトークンが上書きされます。 MSAL v3.x でクレーム ベースのキャッシュを有効にして MSAL v2.x と同じ動作を維持するには、クライアント アプリケーション構成オブジェクトで true に設定された cacheOptions.claimsBasedCachingEnabled 構成フラグを使用する必要があります。
const msalConfig = {
auth: {
...
},
...
cache: {
claimsBasedCachingEnabled: true
}
}
const msalInstance = new msal.PublicClientApplication(msalConfig);
await msalInstance.initialize();
他のすべての API は、MSAL v2.x と下位互換性があります。 MSAL v3.0 の動作例については、既定のサンプルを参照することをお勧めします。
暗号
MSAL v3.x は、ネイティブ ブラウザー暗号化 API window.msCryptoを優先して、IE11 ネイティブ暗号化window.msrCryptoと Microsoft Research JavaScript Cryptography Library (MSR crypto) window.cryptoのサポートを削除します。
MSR 暗号化に使用された config.system.cryptoOptions 暗号化オプションもサポートされなくなりました。
主な変更
ブラウザーのサポート
MSAL.js は、次のブラウザーをサポートしなくなりました。
- IE 11
- Edge (レガシ)
パッケージの依存関係
TypeScript のバージョンが 3.8.3 から 4.9.5 に更新されました。
コンパイラ オプション
モジュール/ターゲット バージョンがそれぞれ es6/es5 から es2020/es2020 にバンプされました。
CDN
MSAL.js は CDN でホストされなくなりました。 詳細については 、このドキュメント を参照してください。