JavaScript 用 Microsoft Authentication Libraryを使用すると、クライアント側とサーバー側の JavaScript アプリケーションの両方で、職場と学校のアカウント、Microsoft個人用アカウント (MSA)、ソーシャル ID プロバイダーなどのMicrosoft Entra IDを使用してユーザーを認証できます。Azure AD B2C サービスを通じて、Facebook、Google、LinkedIn、Microsoft アカウントなど。 また、アプリがトークンを取得して、Microsoft GraphなどのMicrosoft Cloud サービスにアクセスすることもできます。
コア ライブラリとラッパー ライブラリ
lib フォルダーには、開発中の MSAL.js ライブラリのソース コードが含まれています。 また、ライブラリの インストール に関するすべての詳細は、それぞれの README.md ファイルにも表示されます。
Node.js用Microsoft認証ライブラリ (v5.0.6):JavaScript アプリケーションのMicrosoft ID プラットフォームで認証とトークンの取得を可能にする Node.jsライブラリ。 次の OAuth 2.0 プロトコルを実装し、 OpenID に準拠しています。 GitHubのソースを参照してください。
JavaScript 用 Microsoft Authentication Library (v5.4.0): JavaScript アプリケーションのMicrosoft ID プラットフォームでの認証とトークンの取得を可能にする、ブラウザー ベースのフレームワークに依存しないブラウザー ライブラリ。 PKCE を使用して OAuth 2.0 承認コード フローを実装し、 OpenID に準拠しています。 GitHubのソースを参照してください。
MSAL でのネイティブ認証のサポート: MSAL JS は、アプリケーションが Web アプリケーションでエンド ツー エンドのカスタマイズ可能なフローを使用してネイティブ エクスペリエンスを実装できるようにするネイティブ認証 API を提供します。 ネイティブ認証を使用すると、ユーザーはデザイン要素、ロゴの配置、レイアウトなど、ユーザー インターフェイスを完全にカスタマイズして、一貫性のあるブランド化された外観を確保できます。 ネイティブ認証機能は、顧客の外部 ID の SPA で使用できます
React 用 Microsoft Authentication Library (v5.0.6): React を使用するアプリ用 msal-browser ライブラリのラッパー。 GitHubのソースを参照してください。
Angular 用 Microsoft Authentication Library (v5.1.1): Angular フレームワークを使用するアプリ用の msal-browser ライブラリのラッパー。 GitHubのソースを参照してください。
ノードのMicrosoft認証拡張機能: ノードのMicrosoft認証拡張機能は、クライアント アプリケーションがクロスプラットフォーム トークン キャッシュのシリアル化と永続化を実行するためのセキュリティで保護されたメカニズムを提供します。 ノード用 Microsoft Authentication Library (MSAL) に対する追加のサポートが提供されます。
v5 の新機能
MSAL.js v5 には、いくつかの主要な機能が導入されています。
- クロスオリジン -Opener-Policy (COOP) のサポート: 厳密な COOP ヘッダーを持つ環境でポップアップ認証フローを有効にします。
- モデル コンテキスト プロトコル (MCP) 認証: AI エージェントとツールの統合のための認証フローをサポートします。
-
ネストされたアプリ認証 (NAA):
createNestablePublicClientApplicationを使用して、Microsoft 365 ホスト アプリ内で実行されるアプリの認証を有効にします。 - localStorage AES-GCM 暗号化: セキュリティを強化するために、AES-GCM を使用して localStorage 内のトークン キャッシュを暗号化します。
-
ファクトリ関数:
createStandardPublicClientApplicationまたはcreateNestablePublicClientApplicationを使用して、非同期構成で MSAL を初期化します。 -
プラットフォーム ブローカー (WAM) 統合:
allowPlatformBroker構成オプションを使用して、Windows Authentication Manager (WAM) ブローカー認証を有効にします。
MSAL JavaScript v5.x への移行ガイドについては、次を参照してください。
長期サポート (LTS) 対象ライブラリ
次の表に、各 MSAL.js ライブラリのアクティブバージョンと LTS バージョンを示します。
| Library | アクティブなバージョン | LTS のバージョン |
|---|---|---|
| msal-browser | v5.x | v2.x |
| msal-node | v5.x | v1.x |
| msal-react | v5.x | v1.x |
| msal-angular | v5.x | v2.x |
msal-lts ブランチでホストされている LTS ライブラリは、アクティブな開発ではなくなりましたが、引き続き重要なセキュリティ バグ修正のサポートを受けています。
Note
msal-lts ブランチには、アクティブなサポートから移行された msal-browser の v3.x と v4.x も含まれています。
- JavaScript 用 Microsoft Authentication Library v2.x
- Node.js v1.x 向け Microsoft Authentication Library
- React 用 Microsoft Authentication Library v1.x
- Angular 用 Microsoft Authentication Library v2.x
パッケージ構造
プラットフォームごとにさまざまなパッケージが用意されています。 パッケージと、パッケージが実装するさまざまな認証フローの関係は、以下のパッケージ構造で確認できます。
Samples
このcode samplesでは、ID プラットフォームでの JavaScript 用のMicrosoft認証ライブラリの使用方法を示します。 各コード サンプルには、プロジェクトをビルドし (該当する場合)、サンプル アプリケーションを実行する方法を説明する README.md ファイルが含まれています。
JavaScript およびその他の言語、フレームワーク、プラットフォームを対象とするサンプルの完全な一覧については、Microsoft ID プラットフォームコード サンプルを参照してください。
ネイティブ認証機能の場合、 サンプル アプリ は React および Angular Web アプリケーションでネイティブ認証を使用する方法を示しています。 各コード サンプルには、プロジェクトをビルドしてサンプル アプリケーションを実行する方法を説明する README.md ファイルが含まれています。 現在のネイティブ認証 API はクロスオリジン リソース共有 (CORS) をサポートしていません。サンプル アプリはローカル プロキシを使用して実行されます。
パッケージのバージョン管理
すべてのライブラリは、 セマンティック バージョン管理に従います。 最新バージョンの各ライブラリを使用して、最新のセキュリティ パッチとバグ修正を確実に行うことをお勧めします。
セキュリティ レポート
ライブラリまたはサービスでセキュリティの問題が見つかる場合は、できるだけ詳しくMicrosoft Security Response Center (MSRC) に報告してください。