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 を呼び出す

言語とフレームワーク

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