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、Xamarin、ユニバーサル 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 |