次の方法で共有


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
パッケージ 取得
開始
ユーザーのサインイン Web API へのアクセス
反応する MSAL React2 msal-react クイックスタート ライブラリでは、ユーザー サインインの ID トークンを要求できます。 ライブラリでは、保護された Web API のアクセス トークンを要求できます。
JavaScript MSAL.js2 msal-browser クイックスタート ライブラリでは、ユーザー サインインの ID トークンを要求できます。 ライブラリでは、保護された Web API のアクセス トークンを要求できます。
Angular(アンギュラー) MSAL Angular2 msal-angular クイックスタート ライブラリでは、ユーザー サインインの ID トークンを要求できます。 ライブラリでは、保護された Web API のアクセス トークンを要求できます。

Web アプリケーション

Web アプリケーションでは、HTML、CSS、および JavaScript を生成し、ユーザーの Web ブラウザーに送信してレンダリングするサーバーでコードを実行します。 ユーザーの ID は、ユーザーのブラウザー (フロントエンド) と Web サーバー (バックエンド) の間のセッションとして保持されます。

Web アプリケーションのコードは Web サーバー上で実行されるため、シークレットを安全に格納できる機密クライアントと見なされます。

言語/フレームワーク プロジェクト
GitHub
パッケージ 取得
開始
ユーザーのサインイン Web API へのアクセス 一般提供 (GA) または
パブリック プレビュー1
。網 MSAL.NET Microsoft.Identity.クライアント ライブラリでは、ユーザー サインインの ID トークンを要求できません。 ライブラリでは、保護された Web API のアクセス トークンを要求できます。 ジョージア州 (GA)
。網 Microsoft.IdentityModel Microsoft.IdentityModel ライブラリは、ユーザー サインインの ID トークンを要求できません。 2 ライブラリは、保護された Web API のアクセス トークンを要求できません。 2 ジョージア州 (GA)
ASP.NET Core マイクロソフト.アイデンティティ.Web マイクロソフト.アイデンティティ.Web クイックスタート ライブラリでは、ユーザー サインインの ID トークンを要求できます。 ライブラリでは、保護された Web API のアクセス トークンを要求できます。 ジョージア州 (GA)
ジャワ MSAL4J msal4j クイックスタート ライブラリでは、ユーザー サインインの ID トークンを要求できます。 ライブラリでは、保護された Web API のアクセス トークンを要求できます。 ジョージア州 (GA)
spring-cloud-azure-starter-active-directory を する spring-cloud-azure-starter-active-directory を する チュートリアル ライブラリでは、ユーザー サインインの ID トークンを要求できます。 ライブラリでは、保護された Web API のアクセス トークンを要求できます。 ジョージア州 (GA)
Node.js MSAL ノード msal-node クイックスタート ライブラリでは、ユーザー サインインの ID トークンを要求できます。 ライブラリでは、保護された Web API のアクセス トークンを要求できます。 ジョージア州 (GA)
Python(プログラミング言語) MSAL Python msal ライブラリでは、ユーザー サインインの ID トークンを要求できます。 ライブラリでは、保護された Web API のアクセス トークンを要求できます。 ジョージア州 (GA)
Python(プログラミング言語) 同一性 同一性 クイックスタート ライブラリでは、ユーザー サインインの ID トークンを要求できます。 ライブラリでは、保護された Web API のアクセス トークンを要求できます。 --

(1)オンライン サービスのユニバーサル ライセンス条項は、"パブリック プレビュー" のライブラリに適用されます。

(2)Microsoft.IdentityModel ライブラリはトークンの "検証" のみを行います。ID やアクセス トークンを要求することはできません。

デスクトップ アプリケーション

デスクトップ アプリケーションは通常は、ユーザー インターフェイスを表示するバイナリ (コンパイル済み) コードであり、ユーザーのデスクトップで実行されるように意図されています。

デスクトップ アプリケーションはユーザーのデスクトップで実行されるため、シークレットを安全に保存できないパブリック クライアントと見なされます。

言語/フレームワーク プロジェクト
GitHub
パッケージ 取得
開始
ユーザーのサインイン Web API へのアクセス 一般提供 (GA) または
パブリック プレビュー1
電子 MSAL Node.js msal-node ライブラリでは、ユーザー サインインの ID トークンを要求できます。 ライブラリでは、保護された Web API のアクセス トークンを要求できます。 パブリック プレビュー
ジャワ MSAL4J msal4j ライブラリでは、ユーザー サインインの ID トークンを要求できます。 ライブラリでは、保護された Web API のアクセス トークンを要求できます。 ジョージア州 (GA)
macOS (Swift/Obj-C) iOS および macOS 用の MSAL MSAL チュートリアル ライブラリでは、ユーザー サインインの ID トークンを要求できます。 ライブラリでは、保護された Web API のアクセス トークンを要求できます。 ジョージア州 (GA)
ユニバーサル Windows プラットフォーム (UWP) MSAL.NET Microsoft.Identity.クライアント チュートリアル ライブラリでは、ユーザー サインインの ID トークンを要求できます。 ライブラリでは、保護された Web API のアクセス トークンを要求できます。 ジョージア州 (GA)
WPF(Windows Presentation Foundation) MSAL.NET Microsoft.Identity.クライアント チュートリアル ライブラリでは、ユーザー サインインの ID トークンを要求できます。 ライブラリでは、保護された Web API のアクセス トークンを要求できます。 ジョージア州 (GA)

1オンライン サービスのユニバーサル ライセンス条項は、"パブリック プレビュー" のライブラリに適用されます。

モバイル アプリケーション

モバイル アプリケーションは通常、ユーザー インターフェイスを表示するバイナリ (コンパイル済み) コードであり、ユーザーのモバイル デバイスで実行されるように意図されています。

モバイル アプリケーションはユーザーのモバイル デバイスで実行されるため、シークレットを安全に保存できないパブリック クライアントと見なされます。

プラットフォーム プロジェクト
GitHub
パッケージ 取得
開始
ユーザーのサインイン Web API へのアクセス 一般提供 (GA) または
パブリック プレビュー1
Android (Java) MSAL アンドロイド MSAL クイックスタート ライブラリでは、ユーザー サインインの ID トークンを要求できます。 ライブラリでは、保護された Web API のアクセス トークンを要求できます。 ジョージア州 (GA)
Android (Kotlin) MSAL アンドロイド MSAL ライブラリでは、ユーザー サインインの ID トークンを要求できます。 ライブラリでは、保護された Web API のアクセス トークンを要求できます。 ジョージア州 (GA)
iOS (Swift/Obj-C) iOS および macOS 用の MSAL MSAL チュートリアル ライブラリでは、ユーザー サインインの ID トークンを要求できます。 ライブラリでは、保護された Web API のアクセス トークンを要求できます。 ジョージア州 (GA)

1オンライン サービスのユニバーサル ライセンス条項は、"パブリック プレビュー" のライブラリに適用されます。

サービス/デーモン

サービスとデーモンは、サーバー間およびその他の無人 (ヘッドレス とも呼ばれます) 通信でよく使用されます。 キーボードの前にユーザーがいて資格情報を入力したりリソースへのアクセスを同意したりすることがないため、これらのアプリケーションでは、Web API のリソースへの認可済みアクセスを要求するときに、ユーザーではなくそれ自身として認証されます。

サーバーで実行されるサービスまたはデーモンは、シークレットを安全に格納できる機密クライアントと見なされます。

言語/フレームワーク プロジェクト
GitHub
パッケージ 取得
開始
ユーザーのサインイン Web API へのアクセス 一般提供 (GA) または
パブリック プレビュー1
。網 MSAL.NET Microsoft.Identity.クライアント クイックスタート ライブラリでは、ユーザー サインインの ID トークンを要求できません。 ライブラリでは、保護された Web API のアクセス トークンを要求できます。 ジョージア州 (GA)
ジャワ MSAL4J msal4j ライブラリでは、ユーザー サインインの ID トークンを要求できません。 ライブラリでは、保護された Web API のアクセス トークンを要求できます。 ジョージア州 (GA)
ノード MSAL ノード msal-node クイックスタート ライブラリでは、ユーザー サインインの ID トークンを要求できません。 ライブラリでは、保護された Web API のアクセス トークンを要求できます。 ジョージア州 (GA)
Python(プログラミング言語) MSAL Python msal-python クイックスタート ライブラリでは、ユーザー サインインの ID トークンを要求できません。 ライブラリでは、保護された Web API のアクセス トークンを要求できます。 ジョージア州 (GA)

1オンライン サービスのユニバーサル ライセンス条項は、"パブリック プレビュー" のライブラリに適用されます。

次のステップ

Microsoft Authentication Library の詳細については、「Microsoft Authentication Library (MSAL)の概要」を参照してください。