Microsoft Authentication Library (MSAL) の概要

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 の個人アカウント、Azure AD B2C でのソーシャル ID、ソブリン クラウドのユーザー、国のクラウドのユーザー) の指定を支援します。
  • 構成ファイルからアプリケーションを設定する作業を支援します。
  • アクション可能な例外、ログ記録、テレメトリを公開することでアプリの問題解決を支援します。

アプリケーションの種類とシナリオ

MSAL を使用し、Web アプリケーション、Web API、シングルページ アプリ (JavaScript)、モバイル アプリケーション、ネイティブ アプリケーション、デーモン、サーバー側アプリケーションといった多くの種類のアプリケーションからトークンを取得できます。

MSAL は次のような多くのアプリケーション シナリオで使用できます。

言語とフレームワーク

ライブラリ サポートされているプラットフォームとフレームワーク
MSAL for Android Android
MSAL Angular Angular と Angular.js のフレームワークを使用したシングルページ アプリ
iOS および macOS 用の MSAL iOS と macOS
MSAL Go (プレビュー) Windows、macOS、Linux
MSAL Java Windows、macOS、Linux
MSAL.js Vue.js、Ember.js、Durandal.js など、JavaScript と TypeScript のフレームワーク
MSAL.NET .NET Framework、.NET Core、Xamarin Android、Xamarin iOS、ユニバーサル Windows プラットフォーム
MSAL Node Express を使用した Web アプリ、Electron を使用したデスクトップ アプリ、クロスプラットフォーム コンソール アプリ
MSAL Python Windows、macOS、Linux
MSAL React React と React ベースのライブラリ (Next.js、Gatsby.js) を使用したシングルページ アプリ

ADAL が使用されているアプリを MSAL に移行する

Active Directory Authentication Library (ADAL) は開発者向け Azure AD (v1.0) エンドポイントと統合されます。そこでは、MSAL が Microsoft ID プラットフォームと統合されます。 v1.0 エンドポイントでは職場アカウントがサポートされますが、個人アカウントはサポートされません。 v2.0 エンドポイントは、Microsoft の個人アカウントと職場アカウントを 1 つの認証システムに統合します。 また、MSAL を使用するとき、Azure AD B2C の認証も取得できます。

MSAL への移行方法の詳細については、「Microsoft Authentication Library (MSAL) へのアプリケーションの移行」を参照してください。