認証フローとアプリケーションのシナリオAuthentication flows and application scenarios

Microsoft ID プラットフォーム (v2.0) エンドポイントは、さまざまなモダン アプリケーション アーキテクチャのための認証をサポートしています。The Microsoft identity platform (v2.0) endpoint supports authentication for different kinds of modern application architectures. アーキテクチャはいずれも、業界標準のプロトコル OAuth 2.0 and OpenID Connect に基づいています。All of the architectures are based on the industry-standard protocols OAuth 2.0 and OpenID Connect. アプリケーションでは、Microsoft ID プラットフォームの認証ライブラリを使用して ID が認証され、保護された API にアクセスするためのトークンが取得されます。By using the authentication libraries for the Microsoft identity platform, applications authenticate identities and acquire tokens to access protected APIs.

この記事では、認証フローと、アプリケーションでそれらを使用するシナリオについて説明します。This article describes authentication flows and the application scenarios that they're used in.

アプリケーションのカテゴリApplication categories

トークンを取得できるアプリケーションには、以下をはじめとするいくつかの種類があります。Tokens can be acquired from several types of applications, including:

  • Web AppsWeb apps
  • モバイル アプリMobile apps
  • デスクトップ アプリDesktop apps
  • Web APIWeb APIs

また、ブラウザーがインストールされていないデバイスやモノのインターネット (IoT) 上で運用されているデバイスで稼働しているアプリからも、トークンを取得できます。Tokens can also be acquired by apps running on devices that don't have a browser or are running on the Internet of Things (IoT).

以降のセクションでは、アプリケーションのカテゴリについて説明します。The following sections describe the categories of applications.

保護されたリソースとクライアント アプリケーションProtected resources vs. client applications

認証シナリオには、次の 2 つのアクティビティが含まれます。Authentication scenarios involve two activities:

  • 保護された Web API のセキュリティ トークンの取得:トークンの取得には、Microsoft がサポートするクライアント ライブラリの使用をお勧めします。Acquiring security tokens for a protected web API: We recommend that you use Microsoft-supported client libraries to acquire tokens. 特に、Microsoft 認証ライブラリ (MSAL) ファミリが推奨されます。In particular, we recommend the Microsoft Authentication Library (MSAL) family.
  • Web API (または Web アプリ) の保護:これらのリソースの保護に関する課題の 1 つに、セキュリティ トークンの検証があります。Protecting a web API or a web app: One challenge of protecting these resources is validating the security token. Microsoft では、一部のプラットフォームについてミドルウェア ライブラリを提供しています。On some platforms, Microsoft offers middleware libraries.

ユーザーありまたはユーザーなしWith users or without users

ほとんどの認証シナリオでは、サインインしたユーザーのためにトークンを取得することになります。Most authentication scenarios acquire tokens on behalf of signed-in users.

ユーザーありのシナリオ

ただし、デーモン アプリも存在します。However, there are also daemon apps. それらのシナリオではユーザーが存在せず、アプリケーションが自らのためにトークンを取得します。In these scenarios, applications acquire tokens on behalf of themselves with no user.

デーモン アプリを使ったシナリオ

シングルページ、パブリック クライアント、機密クライアント アプリケーションSingle-page, public client, and confidential client applications

セキュリティ トークンは、さまざまなアプリケーションから取得できます。Security tokens can be acquired by multiple types of applications. そのようなアプリケーションは多くの場合、次の 3 つのカテゴリに分類されます。These applications tend to be separated into the following three categories. それぞれ、併用するライブラリとオブジェクトが異なります。Each is used with different libraries and objects.

  • シングルページ アプリケーション:SPA とも呼ばれる Web アプリで、ブラウザーで実行している JavaScript または TypeScript アプリからトークンを取得します。Single-page applications: Also known as SPAs, these are web apps in which tokens are acquired by a JavaScript or TypeScript app running in the browser. モダン アプリケーションには、主に JavaScript で記述されたシングルページのアプリケーションがフロントエンドに備わっていることが少なくありません。Many modern apps have a single-page application at the front end that's primarily written in JavaScript. アプリケーションで Angular、React、Vue などのフレームワークを使用することもよくあります。The application often uses a framework like Angular, React, or Vue. MSAL.js は、シングルページ アプリケーションをサポートする唯一の Microsoft 認証ライブラリです。MSAL.js is the only Microsoft authentication library that supports single-page applications.

  • パブリック クライアント アプリケーション:このカテゴリのアプリは、常にユーザーをサインインさせます。たとえば、次のタイプのアプリがあります。Public client applications: Apps in this category, like the following types, always sign in users:

    • サインイン ユーザーの代わりに Web API を呼び出すデスクトップ アプリケーションDesktop apps that call web APIs on behalf of signed-in users
    • モバイル アプリMobile apps
    • ブラウザーがインストールされていないデバイス (IoT 上で運用されているデバイスなど) で稼働しているアプリApps running on devices that don't have a browser, like those running on IoT
  • 機密クライアント アプリケーション:このカテゴリには、次のようなアプリが該当します。Confidential client applications: Apps in this category include:

    • Web API を呼び出す Web アプリWeb apps that call a web API
    • Web API を呼び出す Web APIWeb APIs that call a web API
    • デーモン アプリケーション (Linux デーモンや Windows サービスのようにコンソール サービスとして実装されている場合も含む)Daemon apps, even when implemented as a console service like a Linux daemon or a Windows service

サインイン対象ユーザーSign-in audience

利用できる認証フローは、サインインの対象ユーザーによって異なります。The available authentication flows differ depending on the sign-in audience. 一部のフローは、職場または学校アカウントでのみ利用できます。Some flows are available only for work or school accounts. また、職場または学校アカウントと個人用 Microsoft アカウントのどちらでも利用できるフローもあります。Others are available both for work or school accounts and for personal Microsoft accounts.

詳細については、「サポートされているアカウントの種類」を参照してください。For more information, see Supported account types.

アプリケーションのシナリオApplication scenarios

Microsoft ID プラットフォーム エンドポイントは、これらのアプリ アーキテクチャのための認証をサポートしています。The Microsoft identity platform endpoint supports authentication for these app architectures:

  • シングルページ アプリSingle-page apps
  • Web AppsWeb apps
  • Web APIWeb APIs
  • モバイル アプリMobile apps
  • ネイティブ アプリNative apps
  • デーモン アプリDaemon apps
  • サーバーサイド アプリServer-side apps

アプリケーションでは、さまざまな認証フローを使用してユーザーのサインインを行い、トークンを取得して保護された API を呼び出します。Applications use the different authentication flows to sign in users and get tokens to call protected APIs.

シングルページ アプリSingle-page application

最新の Web アプリの多くは、クライアント側のシングル ページ アプリケーションとして構築されています。Many modern web apps are built as client-side single-page applications. これらのアプリケーションでは、JavaScript またはフレームワーク (Angular、Vue、React など) が使用されています。These applications use JavaScript or a framework like Angular, Vue, and React. このようなアプリケーションは、Web ブラウザー内で稼働します。These applications run in a web browser.

シングルページ アプリケーションは、認証の特性の点で、従来からあるサーバー側の Web アプリとは異なります。Single-page applications differ from traditional server-side web apps in terms of authentication characteristics. Microsoft ID プラットフォームを使うと、シングルページ アプリケーションでユーザーをサインインさせ、バックエンド サービスまたは Web API にアクセスするためのトークンを取得することができます。By using the Microsoft identity platform, single-page applications can sign in users and get tokens to access back-end services or web APIs. Microsoft ID プラットフォームは、JavaScript アプリケーション用の次の 2 つの付与タイプを提供しています。Microsoft identity platform offers two grant types for JavaScript applications:

MSAL.js (2.x)MSAL.js (2.x) MSAL.js (1.x)MSAL.js (1.x)
シングルページ アプリケーション認証 シングルページ アプリケーション暗黙

ユーザーをサインインさせる Web アプリWeb app that signs in a user

ユーザーをサインインさせる Web アプリ

ユーザーをサインインさせる Web アプリを効果的に保護するには、次の方法を使用します。To help protect a web app that signs in a user:

  • 開発に .NET 環境を採用している場合には、ASP.NET OpenID Connect ミドルウェアを使用した ASP.NET または ASP.NET Core を使用します。If you develop in .NET, you use ASP.NET or ASP.NET Core with the ASP.NET OpenID Connect middleware. リソース保護の一環として発生するセキュリティ トークンの検証処理については、MSAL ライブラリではなく、.NET 用の IdentityModel 拡張機能が担当します。Protecting a resource involves validating the security token, which is done by the IdentityModel extensions for .NET and not MSAL libraries.

  • 開発に Node.js を採用している場合には、Passport.js を使用します。If you develop in Node.js, you use Passport.js.

詳細については、ユーザーをサインインさせる Web アプリに関するページを参照してください。For more information, see Web app that signs in users.

ユーザーをサインインさせ、そのユーザーに代わって Web API を呼び出す Web アプリWeb app that signs in a user and calls a web API on behalf of the user

Web API を呼び出す Web アプリ

ユーザーに代わって Web アプリから Web API を呼び出すには、承認コード フローを使用し、取得したトークンをトークン キャッシュに格納します。To call a web API from a web app on behalf of a user, use the authorization code flow and store the acquired tokens in the token cache. 必要に応じて、MSAL によりトークンが更新されるほか、コントローラーによりキャッシュからトークンが取得されます。When needed, MSAL refreshes tokens and the controller silently acquires tokens from the cache.

詳細については、Web API を呼び出す Web アプリに関するページを参照してください。For more information, see Web app that calls web APIs.

サインイン済みのユーザーに代わって Web API を呼び出すデスクトップ アプリDesktop app that calls a web API on behalf of a signed-in user

ユーザーをサインインさせるデスクトップ アプリで Web API を呼び出す場合には、MSAL に用意されている対話型のトークン取得メソッドを使用します。For a desktop app to call a web API that signs in users, use the interactive token-acquisition methods of MSAL. このような対話型メソッドを使用すると、サインイン UI のエクスペリエンスを制御できます。With these interactive methods, you can control the sign-in UI experience. MSAL では、この対話に Web ブラウザーを使用します。MSAL uses a web browser for this interaction.

Web API を呼び出すデスクトップ アプリ

Windows ドメインに参加しているか、Azure Active Directory (Azure AD) を使って参加しているコンピューターで稼働している Windows ホスト アプリケーションについては、もう 1 つ選択肢があります。There's another possibility for Windows-hosted applications on computers joined either to a Windows domain or by Azure Active Directory (Azure AD). このようなアプリケーションでは、統合 Windows 認証を使用するとトークンを自動的に取得できます。These applications can silently acquire a token by using Integrated Windows Authentication.

ブラウザーがインストールされていないデバイス上で稼働しているアプリケーションであっても、ユーザーのために API を呼び出すことは可能です。Applications running on a device without a browser can still call an API on behalf of a user. 認証するには、Web ブラウザーがインストールされている別のデバイス上でユーザーがサインインする必要があります。To authenticate, the user must sign in on another device that has a web browser. このシナリオでは、デバイス コード フローを使用する必要があります。This scenario requires that you use the device code flow.

デバイス コード フロー

パブリック クライアント アプリケーションであればユーザー名とパスワードを使ったフローを使用することもできますが、お勧めはしません。Though we don't recommend that you use it, the username/password flow is available in public client applications. もっとも、DevOps などの一部のシナリオではこのフローが必要になります。This flow is still needed in some scenarios like DevOps.

ユーザー名とパスワードを使ったフローを使用すると、アプリケーションに制約が発生します。Using the username/password flow constrains your applications. たとえば、アプリケーションでは、Azure AD の多要素認証や条件付きアクセス ツールを使用する必要があるユーザーをサインインさせることができなくなります。For instance, applications can't sign in a user who needs to use multifactor authentication or the Conditional Access tool in Azure AD. また、アプリケーションでシングル サインオン (SSO) のメリットを享受することもできません。Your applications also don't benefit from single sign-on. ユーザー名とパスワードを使った認証は先進認証の原則に反しており、レガシへの対応のためにのみ提供されています。Authentication with the username/password flow goes against the principles of modern authentication and is provided only for legacy reasons.

デスクトップ アプリでトークン キャッシュを永続的にする場合は、トークン キャッシュのシリアル化をカスタマイズすることができます。In desktop apps, if you want the token cache to persist, you can customize the token cache serialization. デュアル トークン キャッシュのシリアル化を実装すると、後方互換性と前方互換性を備えたトークン キャッシュを利用できるようになります。By implementing dual token cache serialization, you can use backward-compatible and forward-compatible token caches. これらのトークンでは、以前の世代の認証ライブラリがサポートされます。These tokens support previous generations of authentication libraries. ライブラリの具体例としては、.NET 用 Azure AD 認証ライブラリ (ADAL.NET) のバージョン 3 とバージョン 4 などがあります。Specific libraries include Azure AD Authentication Library for .NET (ADAL.NET) version 3 and version 4.

詳細については、Web API を呼び出すデスクトップ アプリに関するページを参照してください。For more information, see Desktop app that calls web APIs.

対話ユーザーに代わって Web API を呼び出すモバイル アプリMobile app that calls a web API on behalf of an interactive user

モバイル アプリケーションでは、デスクトップ アプリケーションと同じように、MSAL に用意されている対話型のトークン取得メソッドを呼び出して、Web API を呼び出すためのトークンを取得します。Similar to a desktop app, a mobile app calls the interactive token-acquisition methods of MSAL to acquire a token for calling a web API.

Web API を呼び出すモバイル アプリ

MSAL iOS と MSAL Android では、既定でシステム Web ブラウザーが使用されます。MSAL iOS and MSAL Android use the system web browser by default. もっとも、代わりに埋め込みの Web ビューを使用するように指定することもできます。However, you can direct them to use the embedded web view instead. モバイル プラットフォームに依存する特異性があります。ユニバーサル Windows プラットフォーム (UWP)、iOS、または Android。There are specificities that depend on the mobile platform: Universal Windows Platform (UWP), iOS, or Android.

デバイス ID やデバイス登録に関連して条件付きアクセスを使用するシナリオなど、一部のシナリオでは、デバイス上にブローカーをインストールする必要があります。Some scenarios, like those that involve Conditional Access related to a device ID or a device enrollment, require a broker to be installed on the device. ブローカーにはたとえば、Microsoft ポータル サイト (Android)、Microsoft Authenticator (Android および iOS) があります。Examples of brokers are Microsoft Company Portal on Android and Microsoft Authenticator on Android and iOS. MSAL はブローカーと対話できるようになりました。MSAL can now interact with brokers. ブローカーの詳細については、「Android と iOS でブローカーを利用する」を参照してください。For more information about brokers, see Leveraging brokers on Android and iOS.

詳細については、Web API を呼び出すモバイル アプリに関するページを参照してください。For more information, see Mobile app that calls web APIs.

注意

MSAL.iOS、MSAL.Android、または MSAL.NET on Xamarin を使用しているモバイル アプリでは、アプリ保護ポリシーを適用できます。A mobile app that uses MSAL.iOS, MSAL.Android, or MSAL.NET on Xamarin can have app protection policies applied to it. このポリシーを使うと、保護されているテキストをユーザーがコピーできないようにしたりすることができます。For instance, the policies might prevent a user from copying protected text. モバイル アプリは Intune によって管理され、Intune によりマネージド アプリとして認識されます。The mobile app is managed by Intune and is recognized by Intune as a managed app. 詳細については、「Microsoft Intune App SDK の概要」を参照してください。For more information, see Microsoft Intune App SDK overview.

Intune SDK は MSAL ライブラリとは別のものであり、独自に Azure AD と対話します。The Intune App SDK is separate from MSAL libraries and interacts with Azure AD on its own.

保護された Web APIProtected web API

Microsoft ID プラットフォーム エンドポイントを使用すると、アプリの RESTful Web API などの Web サービスをセキュリティで保護できます。You can use the Microsoft identity platform endpoint to secure web services like your app's RESTful web API. 保護された Web API は、アクセス トークンを使用して呼び出されます。A protected web API is called through an access token. トークンは、API のデータの保護と受信要求の認証に役立てられます。The token helps secure the API's data and authenticate incoming requests. Web API の呼び出し元によって、HTTP 要求の Authorization ヘッダーにアクセス トークンが付加されます。The caller of a web API appends an access token in the authorization header of an HTTP request.

ASP.NET または ASP.NET Core Web API を保護する場合は、アクセス トークンを検証する必要があります。If you want to protect your ASP.NET or ASP.NET Core web API, you need to validate the access token. この検証には、ASP.NET JWT ミドルウェアを使用します。For this validation, you use the ASP.NET JWT middleware. 検証は MSAL.NET ではなく、.NET ライブラリ用の IdentityModel 拡張機能によって行われます。The validation is done by the IdentityModel extensions for .NET library and not by MSAL.NET.

詳細については、保護された Web APIに関するページを参照してください。For more information, see Protected web API.

ユーザーに代わって別の Web API を呼び出す Web APIWeb API that calls another web API on behalf of a user

保護された Web API から、ユーザーに代わって別の Web API を呼び出すには、アプリでダウンストリームの Web API のトークンを取得する必要があります。For your protected web API to call another web API on behalf of a user, your app needs to acquire a token for the downstream web API. このような呼び出しは、"サービス間" 呼び出しと呼ばれることがあります。Such calls are sometimes referred to as service-to-service calls. 他の Web API を呼び出す Web API では、カスタム キャッシュのシリアル化を提供する必要があります。Web APIs that call other web APIs need to provide custom cache serialization.

別の Web API を呼び出す Web API

詳細については、Web API を呼び出す Web API に関するページを参照してください。For more information, see Web API that calls web APIs.

独自に Web API を呼び出すデーモン アプリDaemon app that calls a web API in the daemon's name

長時間実行されるプロセスを含んだアプリや、ユーザーの介入なしで動作するアプリも、セキュリティで保護された Web API になんらかの形でアクセスする必要があります。Apps that have long-running processes or that operate without user interaction also need a way to access secure web APIs. そのようなアプリでは、認証やトークンの取得にアプリの ID を使用します。Such an app can authenticate and get tokens by using the app's identity. アプリの ID 証明には、クライアント シークレットまたは証明書が使用されます。The app proves its identity by using a client secret or certificate.

呼び出し元のアプリに代わってトークンを取得するデーモン アプリは、MSAL のクライアント資格情報取得メソッドを使用して作成できます。You can write such daemon apps that acquire a token for the calling app by using the client credential acquisition methods in MSAL. これらのメソッドには、Azure AD にアプリの登録を追加するクライアント シークレットが必要です。These methods require a client secret that you add to the app registration in Azure AD. そのうえで、そのアプリと呼び出されたデーモンとの間でシークレットが共有されます。The app then shares the secret with the called daemon. シークレットには、アプリケーションのパスワード、証明書アサーション、クライアント アサーションなどがあります。Examples of such secrets include application passwords, certificate assertion, and client assertion.

他のアプリと API によって呼び出されるデーモン アプリ

詳細については、Web API を呼び出すデーモン アプリケーションに関するページを参照してください。For more information, see Daemon application that calls web APIs.

シナリオとサポートされている認証フローScenarios and supported authentication flows

トークンを要求するアプリケーションのシナリオを実装するには、認証フローを使用します。You use authentication flows to implement the application scenarios that are requesting tokens. アプリケーション シナリオと認証フローの間に 1 対 1 の対応関係はありません。There isn't a one-to-one mapping between application scenarios and authentication flows.

トークンの取得が必要なシナリオは、OAuth 2.0 認証フローにも対応します。Scenarios that involve acquiring tokens also map to OAuth 2.0 authentication flows. 詳細については、「Microsoft ID プラットフォームにおける OAuth 2.0 プロトコルと OpenID Connect プロトコル」を参照してください。For more information, see OAuth 2.0 and OpenID Connect protocols on the Microsoft identity platform.

シナリオScenario 詳細なシナリオのチュートリアルDetailed scenario walk-through OAuth 2.0 のフローと許可OAuth 2.0 flow and grant 対象ユーザーAudience
Single-Page App with Auth code シングルページ アプリSingle-page app PKCE を使用した認可コードAuthorization code with PKCE 職場または学校アカウント、個人用アカウント、Azure Active Directory B2C (Azure AD B2C)Work or school accounts, personal accounts, and Azure Active Directory B2C (Azure AD B2C)
Single-Page App with Implicit シングルページ アプリSingle-page app 暗黙的Implicit 職場または学校アカウント、個人用アカウント、Azure Active Directory B2C (Azure AD B2C)Work or school accounts, personal accounts, and Azure Active Directory B2C (Azure AD B2C)
Web app that signs in users ユーザーをサインインさせる Web アプリWeb app that signs in users 承認コードAuthorization code 職場または学校アカウント、個人用アカウント、Azure AD B2CWork or school accounts, personal accounts, and Azure AD B2C
Web app that signs in users Web API を呼び出す Web アプリWeb app that calls web APIs 承認コードAuthorization code 職場または学校アカウント、個人用アカウント、Azure AD B2CWork or school accounts, personal accounts, and Azure AD B2C
Desktop Web API を呼び出すデスクトップ アプリDesktop app that calls web APIs 対話型 (PKCE を使用した認可コードを利用)Interactive by using authorization code with PKCE 職場または学校アカウント、個人用アカウント、Azure AD B2CWork or school accounts, personal accounts, and Azure AD B2C
統合 Windows 認証Integrated Windows Authentication 職場または学校アカウントWork or school accounts
リソース所有者のパスワードResource owner password 職場または学校アカウントと Azure AD B2CWork or school accounts and Azure AD B2C
Browserless application デバイス コードDevice code 職場または学校アカウントWork or school accounts
Mobile app that calls web APIs Web API を呼び出すモバイル アプリMobile app that calls web APIs 対話型 (PKCE を使用した認可コードを利用)Interactive by using authorization code with PKCE 職場または学校アカウント、個人用アカウント、Azure AD B2CWork or school accounts, personal accounts, and Azure AD B2C
リソース所有者のパスワードResource owner password 職場または学校アカウントと Azure AD B2CWork or school accounts and Azure AD B2C
Daemon app that calls web APIs Web API を呼び出すデーモン アプリDaemon app that calls web APIs クライアントの資格情報Client credentials ユーザーが介在せず、Azure AD 組織でのみ使用されるアプリ専用アクセス許可App-only permissions that have no user and are used only in Azure AD organizations
Web API that calls web APIs Web API を呼び出す Web APIWeb API that calls web APIs On-Behalf-OfOn-behalf-of 職場または学校アカウントと個人用アカウントWork or school accounts and personal accounts

シナリオとサポートされているプラットフォームと言語Scenarios and supported platforms and languages

Microsoft の認証ライブラリは、さまざまなプラットフォームをサポートしています。Microsoft authentication libraries support multiple platforms:

  • JavaScriptJavaScript
  • .NET Framework.NET Framework
  • .NET Core.NET Core
  • Windows 10/UWPWindows 10/UWP
  • Xamarin.iOSXamarin.iOS
  • Xamarin.AndroidXamarin.Android
  • ネイティブ iOSNative iOS
  • macOSmacOS
  • ネイティブ AndroidNative Android
  • JavaJava
  • PythonPython

また、さまざまな言語を使用してアプリケーションをビルドすることもできます。You can also use various languages to build your applications.

注意

アプリケーションの種類によっては、プラットフォームで利用できないことがあります。Some application types aren't available on every platform.

次の表の Windows の列で .NET Core と書いてある場合には、.NET Framework でも対応可能です。In the Windows column of the following table, each time .NET Core is mentioned, .NET Framework is also possible. 後者は表のスペースの関係で省略しています。The latter is omitted to avoid cluttering the table.

シナリオScenario WindowsWindows LinuxLinux MacMac iOSiOS AndroidAndroid
シングルページ アプリSingle-page app
シングル ページ アプリ認証Single-Page App Auth
MSAL.js
MSAL.jsMSAL.js
MSAL.js
MSAL.jsMSAL.js
MSAL.js
MSAL.jsMSAL.js
MSAL.js MSAL.jsMSAL.js MSAL.js
MSAL.jsMSAL.js
シングルページ アプリSingle-page app
シングルページ アプリ暗黙Single-Page App Implicit
MSAL.js
MSAL.jsMSAL.js
MSAL.js
MSAL.jsMSAL.js
MSAL.js
MSAL.jsMSAL.js
MSAL.js MSAL.jsMSAL.js MSAL.js
MSAL.jsMSAL.js
ユーザーをサインインさせる Web アプリWeb app that signs in users
ユーザーをサインインさせる Web アプリWeb app that signs-in users
ASP.NET Core
ASP.NET CoreASP.NET Core
ASP.NET Core
ASP.NET CoreASP.NET Core
ASP.NET Core
ASP.NET CoreASP.NET Core
Web API を呼び出す Web アプリWeb app that calls web APIs

Web API を呼び出す Web アプリWeb app that calls web APIs
ASP.NET Core
ASP.NET Core + MSAL.NETASP.NET Core + MSAL.NET MSAL Java
MSAL JavaMSAL Java
MSAL Python
Flask + MSAL PythonFlask + MSAL Python
ASP.NET Core
ASP.NET Core + MSAL.NETASP.NET Core + MSAL.NET MSAL Java
MSAL JavaMSAL Java
MSAL Python
Flask + MSAL PythonFlask + MSAL Python
ASP.NET Core
ASP.NET Core + MSAL.NETASP.NET Core + MSAL.NET MSAL Java
MSAL JavaMSAL Java
MSAL Python
Flask + MSAL PythonFlask + MSAL Python
Web API を呼び出すデスクトップ アプリDesktop app that calls web APIs

Web API を呼び出すデスクトップ アプリ デバイス コード フローDesktop app that calls web APIs Device code flow
.NET CoreMSAL.NETMSAL.NET MSAL Java
MSAL JavaMSAL Java
MSAL Python
MSAL PythonMSAL Python
.NET CoreMSAL.NETMSAL.NET MSAL Java
MSAL JavaMSAL Java
MSAL Python
MSAL PythonMSAL Python
.NET CoreMSAL.NETMSAL.NET MSAL Java
MSAL JavaMSAL Java
MSAL Python
MSAL PythonMSAL Python
iOS / Objective C または Swift MSAL.objcMSAL.objc
Web API を呼び出すモバイル アプリMobile app that calls web APIs
Web API を呼び出すモバイル アプリMobile app that calls web APIs
UWP MSAL.NETMSAL.NET Xamarin MSAL.NETMSAL.NET iOS / Objective C または Swift MSAL.objcMSAL.objc Android MSAL.AndroidMSAL.Android
デーモン アプリDaemon app
デーモン アプリDaemon app
.NET CoreMSAL.NETMSAL.NET MSAL Java
MSAL JavaMSAL Java
MSAL Python
MSAL PythonMSAL Python
.NET Core MSAL.NETMSAL.NET MSAL Java
MSAL JavaMSAL Java
MSAL Python
MSAL PythonMSAL Python
.NET CoreMSAL.NETMSAL.NET MSAL Java
MSAL JavaMSAL Java
MSAL Python
MSAL PythonMSAL Python
Web API を呼び出す Web APIWeb API that calls web APIs

Web API を呼び出す Web APIWeb API that calls web APIs
ASP.NET Core
ASP.NET Core + MSAL.NETASP.NET Core + MSAL.NET MSAL Java
MSAL JavaMSAL Java
MSAL Python
MSAL PythonMSAL Python
.NET Core
ASP.NET Core + MSAL.NETASP.NET Core + MSAL.NET MSAL Java
MSAL JavaMSAL Java
MSAL Python
MSAL PythonMSAL Python
.NET Core
ASP.NET Core + MSAL.NETASP.NET Core + MSAL.NET MSAL Java
MSAL JavaMSAL Java
MSAL Python
MSAL PythonMSAL Python

詳細については、「OS/言語別で Microsoft がサポートするライブラリ」を参照してください。For more information, see Microsoft-supported libraries by OS/language.

次のステップNext steps