Share via


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 アカウント、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 を呼び出す

言語とフレームワーク

ライブラリ サポートされているプラットフォームとフレームワーク
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