Microsoft ID プラットフォームの認証ライブラリ
次の表は、いくつかのアプリケーションの種類に対する Microsoft 認証ライブラリのサポートを示しています。 これには、ライブラリ ソース コードへのリンク、アプリのプロジェクトのパッケージを取得する場所、ライブラリでユーザーのサインイン (認証)、保護された Web API へのアクセス (認可)、またはその両方がサポートされるかどうかが含まれます。
Microsoft ID プラットフォームは、認定 OpenID プロバイダとして OpenID Foundation に認定されています。 Microsoft Authentication Library (MSAL) や Microsoft がサポートしている別のライブラリではないライブラリを使用する場合は、認定 OpenID Connect 実装のものを選択します。
OAuth 2.0 または OpenID Connect 1.0 の独自のプロトコルレベル実装を手作業でコーディングする場合は、各標準の仕様におけるセキュリティの考慮事項に細心の注意を払い、Microsoft SDL に見られるような安全なソフトウェア設計と開発の手法に従ってください。
シングルページ アプリケーション (SPA)
シングルページ アプリケーションは、ブラウザー上で完全に実行され、ページ データ (HTML、CSS、JavaScript) を動的に、またはアプリケーションの読み込み時にフェッチします。 Web API を呼び出して、バックエンド データ ソースとやり取りできます。
SPA のコードは完全にブラウザーで実行されるため、シークレットを安全に格納できないパブリック クライアントと見なされます。
言語/フレームワーク | プロジェクト GitHub |
Package | 取得 started |
ユーザーのサインイン | Web API へのアクセス | 一般提供 (GA) または パブリック プレビュー1 |
---|---|---|---|---|---|---|
Angular | MSAL Angular v22 | msal-angular | クイックスタート | GA | ||
Angular | MSAL Angular3 | msal-angular | — | GA | ||
AngularJS | MSAL AngularJS3 | msal-angularjs | — | パブリック プレビュー | ||
JavaScript | MSAL.js v22 | msal-browser | チュートリアル | GA | ||
JavaScript | MSAL.js 1.03 | msal-core | — | GA | ||
React | MSAL React2 | msal-react | クイックスタート | GA |
1 オンライン サービスのユニバーサル ライセンス条項は、"パブリック プレビュー" のライブラリに適用されます。
2 PKCE のみを使用した認証コード フロー (推奨)。
3暗黙的な許可フロー のみ (非推奨)。
Web アプリケーション
Web アプリケーションでは、HTML、CSS、および JavaScript を生成し、ユーザーの Web ブラウザーに送信してレンダリングするサーバーでコードを実行します。 ユーザーの ID は、ユーザーのブラウザー (フロントエンド) と Web サーバー (バックエンド) の間のセッションとして保持されます。
Web アプリケーションのコードは Web サーバー上で実行されるため、シークレットを安全に格納できる機密クライアントと見なされます。
言語/フレームワーク | プロジェクト GitHub |
Package | 取得 started |
ユーザーのサインイン | Web API へのアクセス | 一般提供 (GA) または パブリック プレビュー1 |
---|---|---|---|---|---|---|
.NET | MSAL.NET | Microsoft.Identity.Client | — | GA | ||
.NET | Microsoft.IdentityModel | Microsoft.IdentityModel | — | 2 | 2 | GA |
ASP.NET Core | ASP.NET Core | Microsoft.AspNetCore.Authentication | クイックスタート | GA | ||
ASP.NET Core | Microsoft.Identity.Web | Microsoft.Identity.Web | クイックスタート | GA | ||
Java | MSAL4J | msal4j | クイックスタート | GA | ||
Spring | spring-cloud-azure-starter-active-directory | spring-cloud-azure-starter-active-directory | チュートリアル | GA | ||
Node.js | MSAL Node | msal-node | クイックスタート | GA | ||
Python | MSAL Python | msal | GA | |||
Python | identity | identity | クイックスタート | -- |
(1) オンライン サービスのユニバーサル ライセンス条項は、"パブリック プレビュー" のライブラリに適用されます。
(2)Microsoft.IdentityModel ライブラリはトークンの "検証" のみを行います。ID やアクセス トークンを要求することはできません。
デスクトップ アプリケーション
デスクトップ アプリケーションは通常は、ユーザー インターフェイスを表示するバイナリ (コンパイル済み) コードであり、ユーザーのデスクトップで実行されるように意図されています。
デスクトップ アプリケーションはユーザーのデスクトップで実行されるため、シークレットを安全に保存できないパブリック クライアントと見なされます。
言語/フレームワーク | プロジェクト GitHub |
Package | 取得 started |
ユーザーのサインイン | Web API へのアクセス | 一般提供 (GA) または パブリック プレビュー1 |
---|---|---|---|---|---|---|
Electron | MSAL Node.js | msal-node | — | パブリック プレビュー | ||
Java | MSAL4J | msal4j | — | GA | ||
macOS (Swift/Obj-C) | iOS および macOS 用の MSAL | MSAL | チュートリアル | GA | ||
UWP | MSAL.NET | Microsoft.Identity.Client | チュートリアル | GA | ||
WPF | MSAL.NET | Microsoft.Identity.Client | チュートリアル | GA |
1 オンライン サービスのユニバーサル ライセンス条項は、"パブリック プレビュー" のライブラリに適用されます。
モバイル アプリケーション
モバイル アプリケーションは通常、ユーザー インターフェイスを表示するバイナリ (コンパイル済み) コードであり、ユーザーのモバイル デバイスで実行されるように意図されています。
モバイル アプリケーションはユーザーのモバイル デバイスで実行されるため、シークレットを安全に保存できないパブリック クライアントと見なされます。
プラットフォーム | プロジェクト GitHub |
Package | 取得 started |
ユーザーのサインイン | Web API へのアクセス | 一般提供 (GA) または パブリック プレビュー1 |
---|---|---|---|---|---|---|
Android (Java) | MSAL Android | MSAL | クイックスタート | GA | ||
Android (Kotlin) | MSAL Android | MSAL | — | GA | ||
iOS (Swift/Obj-C) | iOS および macOS 用の MSAL | MSAL | チュートリアル | GA | ||
Xamarin (.NET) | MSAL.NET | Microsoft.Identity.Client | — | GA |
1 オンライン サービスのユニバーサル ライセンス条項は、"パブリック プレビュー" のライブラリに適用されます。
サービス/デーモン
サービスとデーモンは、サーバー間およびその他の無人 (ヘッドレス とも呼ばれます) 通信でよく使用されます。 キーボードの前にユーザーがいて資格情報を入力したりリソースへのアクセスを同意したりすることがないため、これらのアプリケーションでは、Web API のリソースへの認可済みアクセスを要求するときに、ユーザーではなくそれ自身として認証されます。
サーバーで実行されるサービスまたはデーモンは、シークレットを安全に格納できる機密クライアントと見なされます。
言語/フレームワーク | プロジェクト GitHub |
Package | 取得 started |
ユーザーのサインイン | Web API へのアクセス | 一般提供 (GA) または パブリック プレビュー1 |
---|---|---|---|---|---|---|
.NET | MSAL.NET | Microsoft.Identity.Client | クイックスタート | GA | ||
Java | MSAL4J | msal4j | — | GA | ||
Node | MSAL Node | msal-node | クイックスタート | GA | ||
Python | MSAL Python | msal-python | クイックスタート | GA |
1 オンライン サービスのユニバーサル ライセンス条項は、"パブリック プレビュー" のライブラリに適用されます。
次のステップ
Microsoft Authentication Library の詳細については、「Microsoft Authentication Library (MSAL)の概要」を参照してください。