Microsoft Authentication Library (MSAL) を使用すると、ユーザーを認証し、セキュリティで保護された Web API にアクセスするため、開発者は Microsoft ID プラットフォームからセキュリティ トークンを取得できます。 これを使用して、Microsoft Graph、Microsoft API、サードパーティの Web API、または独自の Web API に安全にアクセスできます。 MSAL では、.NET、JavaScript、Java、Python、Android、iOS など、さまざまなアプリケーション アーキテクチャとプラットフォームがサポートされています。
MSAL は、サポートされているプラットフォーム用の一貫性のある API を使用して、トークンを取得するいくつかの方法を提供するトークン取得ライブラリです。 MSAL を使用すると、次のような利点があります。
- OAuth プロトコルに対してアプリケーションを直接記述する必要はありません。 配管はライブラリによって処理されます。
- ユーザーやアプリケーション (プラットフォームに適用できるとき) の代わりにトークンを取得できます。
- ライブラリはトークン キャッシュを保持し、有効期限が切れるときにトークンを更新します。 自分自身でトークンの有効期限を処理する必要はありません。
- どの対象ユーザーがアプリケーションにサインインするかを指定するのに役立ちます。 サインイン対象ユーザーには、個人の Microsoft アカウント、Microsoft Entra 外部 ID 組織のソーシャル ID、職場、学校、ソブリン クラウドや国内クラウドのユーザーを含めることができます。
- 構成ファイルからアプリケーションをセットアップするのに役立ちます。
- アクション可能な例外、ログ記録、およびテレメトリを公開することで、アプリのトラブルシューティングに役立ちます。
アプリケーションの種類とシナリオ
MSAL を使用すると、Web アプリケーション、Web API、シングルページ アプリ (JavaScript)、モバイル アプリケーション、ネイティブ アプリケーション、デーモン、サーバー側アプリケーションなど、さまざまな種類のアプリケーションに対してトークンを取得できます。
MSAL は、次のようないくつかのアプリケーション シナリオで使用できます。
- シングル ページ アプリケーション (JavaScript)
- ユーザーの Web アプリケーションのサインイン
- Web アプリケーションがユーザーにサインインし、ユーザーに代わって Web API を呼び出す
- Web API 認証。認証されたユーザーのみがアクセスできるようにする
- サインインしているユーザーの代わりに別のダウンストリーム Web API を呼び出す Web API
- サインインしているユーザーの代わりに Web API を呼び出すデスクトップ アプリケーション
- 対話形式でサインインしているユーザーに代わって Web API を呼び出すモバイル アプリケーション
- それ自体に代わって Web API を呼び出すデスクトップ/サービス デーモン アプリケーション
言語とフレームワーク
| Library | サポートされるプラットフォームとフレームワーク |
|---|---|
| MSAL.NET | .NET Framework、.NET、ユニバーサル Windows プラットフォーム |
| MSAL Java | Windows、macOS、Linux |
| MSAL Python | Windows、macOS、Linux |
| MSAL.js | Vue.js、Ember.js、Durandal.js などの JavaScript/TypeScript フレームワーク |
| MSAL Node | Express を使用した Web アプリ、Electron を使用したデスクトップ アプリ、クロスプラットフォームのコンソール アプリ |
| MSAL React | React および React ベースのライブラリ (Next.js、Gatsby.js) を備えたシングルページ アプリ |
| MSAL Angular | Angular および Angular.js フレームワークを備えたシングルページ アプリ |
| MSAL for ANDROID | Android |
| iOS および macOS 用の MSAL | iOS と macOS |
| MSAL Go | Windows、macOS、Linux |