次の表は、いくつかのアプリケーションの種類に対する 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の | パッケージ | 取得 開始 | ユーザーのサインイン | Web API へのアクセス | 
|---|---|---|---|---|---|
| 反応する | MSAL React2 | msal-react | クイックスタート |   |   | 
| JavaScript | MSAL.js2 | msal-browser | クイックスタート |   |   | 
| Angular(アンギュラー) | MSAL Angular2 | msal-angular | クイックスタート |   |   | 
Web アプリケーション
Web アプリケーションでは、HTML、CSS、および JavaScript を生成し、ユーザーの Web ブラウザーに送信してレンダリングするサーバーでコードを実行します。 ユーザーの ID は、ユーザーのブラウザー (フロントエンド) と Web サーバー (バックエンド) の間のセッションとして保持されます。
Web アプリケーションのコードは Web サーバー上で実行されるため、シークレットを安全に格納できる機密クライアントと見なされます。
| 言語/フレームワーク | プロジェクト GitHubの | パッケージ | 取得 開始 | ユーザーのサインイン | Web API へのアクセス | 一般提供 (GA) または パブリック プレビュー1 | 
|---|---|---|---|---|---|---|
| 。網 | MSAL.NET | Microsoft.Identity.クライアント | — |   |   | ジョージア州 (GA) | 
| 。網 | Microsoft.IdentityModel | Microsoft.IdentityModel | — |  2 |  2 | ジョージア州 (GA) | 
| ASP.NET コア | マイクロソフト.アイデンティティ.Web | マイクロソフト.アイデンティティ.Web | クイックスタート |   |   | ジョージア州 (GA) | 
| ジャワ | MSAL4J | msal4j | クイックスタート |   |   | ジョージア州 (GA) | 
| 春 | spring-cloud-azure-starter-active-directory を | spring-cloud-azure-starter-active-directory を | チュートリアル |   |   | ジョージア州 (GA) | 
| Node.js | MSAL ノード | msal-node | クイックスタート |   |   | ジョージア州 (GA) | 
| Python(プログラミング言語) | MSAL Python | msal | — |   |   | ジョージア州 (GA) | 
| Python(プログラミング言語) | 同一性 | 同一性 | クイックスタート |   |   | -- | 
(1)オンライン サービスのユニバーサル ライセンス条項は、"パブリック プレビュー" のライブラリに適用されます。
(2)Microsoft.IdentityModel ライブラリはトークンの "検証" のみを行います。ID やアクセス トークンを要求することはできません。
デスクトップ アプリケーション
デスクトップ アプリケーションは通常は、ユーザー インターフェイスを表示するバイナリ (コンパイル済み) コードであり、ユーザーのデスクトップで実行されるように意図されています。
デスクトップ アプリケーションはユーザーのデスクトップで実行されるため、シークレットを安全に保存できないパブリック クライアントと見なされます。
| 言語/フレームワーク | プロジェクト GitHubの | パッケージ | 取得 開始 | ユーザーのサインイン | Web API へのアクセス | 一般提供 (GA) または パブリック プレビュー1 | 
|---|---|---|---|---|---|---|
| 電子 | MSAL Node.js | msal-node | — |   |   | パブリック プレビュー | 
| ジャワ | MSAL4J | msal4j | — |   |   | ジョージア州 (GA) | 
| macOS (Swift/Obj-C) | iOS および macOS 用の MSAL | MSAL | チュートリアル |   |   | ジョージア州 (GA) | 
| ユニバーサル Windows プラットフォーム (UWP) | MSAL.NET | Microsoft.Identity.クライアント | チュートリアル |   |   | ジョージア州 (GA) | 
| WPF(Windows Presentation Foundation) | MSAL.NET | Microsoft.Identity.クライアント | チュートリアル |   |   | ジョージア州 (GA) | 
1オンライン サービスのユニバーサル ライセンス条項は、"パブリック プレビュー" のライブラリに適用されます。
モバイル アプリケーション
モバイル アプリケーションは通常、ユーザー インターフェイスを表示するバイナリ (コンパイル済み) コードであり、ユーザーのモバイル デバイスで実行されるように意図されています。
モバイル アプリケーションはユーザーのモバイル デバイスで実行されるため、シークレットを安全に保存できないパブリック クライアントと見なされます。
| プラットフォーム | プロジェクト GitHubの | パッケージ | 取得 開始 | ユーザーのサインイン | Web API へのアクセス | 一般提供 (GA) または パブリック プレビュー1 | 
|---|---|---|---|---|---|---|
| Android (Java) | MSAL アンドロイド | MSAL | クイックスタート |   |   | ジョージア州 (GA) | 
| Android (Kotlin) | MSAL アンドロイド | MSAL | — |   |   | ジョージア州 (GA) | 
| iOS (Swift/Obj-C) | iOS および macOS 用の MSAL | MSAL | チュートリアル |   |   | ジョージア州 (GA) | 
1オンライン サービスのユニバーサル ライセンス条項は、"パブリック プレビュー" のライブラリに適用されます。
サービス/デーモン
サービスとデーモンは、サーバー間およびその他の無人 (ヘッドレス とも呼ばれます) 通信でよく使用されます。 キーボードの前にユーザーがいて資格情報を入力したりリソースへのアクセスを同意したりすることがないため、これらのアプリケーションでは、Web API のリソースへの認可済みアクセスを要求するときに、ユーザーではなくそれ自身として認証されます。
サーバーで実行されるサービスまたはデーモンは、シークレットを安全に格納できる機密クライアントと見なされます。
| 言語/フレームワーク | プロジェクト GitHubの | パッケージ | 取得 開始 | ユーザーのサインイン | Web API へのアクセス | 一般提供 (GA) または パブリック プレビュー1 | 
|---|---|---|---|---|---|---|
| 。網 | MSAL.NET | Microsoft.Identity.クライアント | クイックスタート |   |   | ジョージア州 (GA) | 
| ジャワ | MSAL4J | msal4j | — |   |   | ジョージア州 (GA) | 
| ノード | MSAL ノード | msal-node | クイックスタート |   |   | ジョージア州 (GA) | 
| Python(プログラミング言語) | MSAL Python | msal-python | クイックスタート |   |   | ジョージア州 (GA) | 
1オンライン サービスのユニバーサル ライセンス条項は、"パブリック プレビュー" のライブラリに適用されます。
次のステップ
Microsoft Authentication Library の詳細については、「Microsoft Authentication Library (MSAL)の概要」を参照してください。