ConfidentialClientApplication クラス

定義

機密クライアント アプリケーション (Web アプリ、Web API、デーモン アプリケーション) に使用するクラス。

public sealed class ConfidentialClientApplication : Microsoft.Identity.Client.ClientApplicationBase, Microsoft.Identity.Client.IByRefreshToken, Microsoft.Identity.Client.IByUsernameAndPassword, Microsoft.Identity.Client.IConfidentialClientApplication, Microsoft.Identity.Client.ILongRunningWebApi
type ConfidentialClientApplication = class
    inherit ClientApplicationBase
    interface IConfidentialClientApplication
    interface IClientApplicationBase
    interface IApplicationBase
    interface IByUserFederatedIdentityCredential
    interface IByRefreshToken
    interface ILongRunningWebApi
    interface IByUsernameAndPassword
Public NotInheritable Class ConfidentialClientApplication
Inherits ClientApplicationBase
Implements IByRefreshToken, IByUsernameAndPassword, IConfidentialClientApplication, ILongRunningWebApi
継承
ConfidentialClientApplication
実装

注釈

機密クライアント アプリケーションは、通常、サーバー (Web アプリ、Web API、さらにはサービス/デーモン アプリケーション) で実行されるアプリケーションです。 アクセスが困難であると見なされるため、アプリケーション シークレットを保持できます (これらの値をエンド ユーザーが抽出するのが困難であるため、構成時のシークレットを保持します)。 Web アプリは、最も一般的な機密クライアントです。 clientId は Web ブラウザーを介して公開されますが、シークレットはバック チャネルでのみ渡され、直接公開されることはありません。 詳細については、以下を参照してください。 https://aka.ms/msal-net-client-applications

フィールド

名前 説明
AttemptRegionDiscovery

Azure リージョンの自動検出を試行するように MSAL に指示します。

プロパティ

名前 説明
AppConfig

デバッグ目的での ClientApplication の構成の詳細。

(継承元 ClientApplicationBase)
AppTokenCache

アプリケーション トークン キャッシュ。 このケースでは、アプリケーションのアクセス トークンが保持されます。 呼び出し時に必要に応じて、メンテナンスと更新が自動的に行われます AcquireTokenForClient(IEnumerable<String>)

Authority

MSAL.NET がセキュリティ トークンを取得する機関またはセキュリティ トークン サービス (STS) の URL を取得します。このプロパティの戻り値は、アプリケーションのコンストラクターで開発者が指定した値か、それ以外の場合はMicrosoft.Identity.Client.ApplicationBase.DefaultAuthority静的メンバーの値 (https://login.microsoftonline.com/common/) です。

(継承元 ClientApplicationBase)
Certificate

この ConfidentialClientApplicationの作成に使用する証明書 (存在する場合)。

UserTokenCache

ユーザー トークン キャッシュ。 アカウントのアクセス トークン、ID トークン、更新トークンが保持されます。 AcquireTokenSilent(IEnumerable<String>, IAccount)の呼び出し時またはAcquireTokenSilent(IEnumerable<String>, IAccount)のオーバーライドの 1 つを呼び出すときに、必要に応じて自動的に使用および更新されます。 アプリケーション キャッシュのみを使用する AcquireTokenForClient を除き、各 AcquireTokenXXX メソッドによって更新されます ( IConfidentialClientApplicationを参照)。

(継承元 ClientApplicationBase)

メソッド

名前 説明
AcquireTokenByAuthorizationCode(IEnumerable<String>, String)

STS から以前に受信した承認コードを使用して、アプリで構成された機関からセキュリティ トークンを取得します。 OAuth 2.0 承認コード フローを使用します ( https://aka.ms/msal-net-authorization-codeを参照)。 これは通常、ユーザーをサインインさせる Web アプリ (ASP.NET/ASP.NET Core Web アプリなど) で使用され、承認コードを要求できます。 このメソッドはトークン キャッシュを参照しませんが、結果を格納するため、 AcquireTokenSilent(IEnumerable<String>, IAccount)などの他のメソッドを使用して検索できます。

AcquireTokenForClient(IEnumerable<String>)

クライアント資格情報フローを使用して、機密クライアント自体 (ユーザーなしの名前) に対して、アプリで構成された機関からトークンを取得します。 https://aka.ms/msal-net-client-credentialsを参照してください。

AcquireTokenInLongRunningProcess(IEnumerable<String>, String)

OAuth 2.0 On-Behalf-Of フローを使用して、ユーザーの代わりにダウンストリームで保護された別の Web API にアクセスするために使用できる、指定されたキャッシュ キーを使用して、キャッシュからアクセス トークンを取得します。 MSAL.NET で実行時間の長い OBO を参照してください。 <seealso cref="M:Microsoft を使用します。Identity.Client.Extensibility.ConfidentialClientApplicationExtensions.StopLongRunningProcessInWebApiAsync(Microsoft.Identity.Client.ILongRunningWebApi,System.String,System.Threading.CancellationToken)"></seealso> 実行時間の長いプロセスを停止し、関連するトークンをキャッシュから削除します。

AcquireTokenOnBehalfOf(IEnumerable<String>, UserAssertion)

OAuth 2.0 On-Behalf-Of フローを使用して、ユーザーの代わりにダウンストリームで保護された別の Web API にアクセスするために、アプリケーションで構成された機関からこのアプリケーション (通常は Web API) のアクセス トークンを取得します。 https://aka.ms/msal-net-on-behalf-ofを参照してください。 この機密クライアント アプリケーション自体は、 userAssertion パラメーターで提供されるトークンを使用して呼び出されました。

AcquireTokenSilent(IEnumerable<String>, IAccount)

[V3 API]ユーザー トークン キャッシュから account のアクセス トークンの取得を試みます。 詳細については、 https://aka.ms/msal-net-acquiretokensilent を参照してください

(継承元 ClientApplicationBase)
AcquireTokenSilent(IEnumerable<String>, String)

[V3 API]Usernameが特定のloginHintと一致するIAccountのアクセス トークンをユーザー トークン キャッシュから取得しようとします。 詳細については、 https://aka.ms/msal-net-acquiretokensilent を参照してください

(継承元 ClientApplicationBase)
GetAccountAsync(String, CancellationToken)

トークン キャッシュで使用可能なアカウントの識別子によって IAccount を取得します。

(継承元 ClientApplicationBase)
GetAccountAsync(String)

トークン キャッシュで使用可能なアカウントの識別子によって IAccount を取得します。

(継承元 ClientApplicationBase)
GetAccountsAsync()

アプリケーションのユーザー トークン キャッシュで使用可能なすべての アカウント を返します。

(継承元 ClientApplicationBase)
GetAccountsAsync(CancellationToken)

アプリケーションのユーザー トークン キャッシュで使用可能なすべての アカウント を返します。

(継承元 ClientApplicationBase)
GetAccountsAsync(String, CancellationToken)

ユーザー フローに基づいて、トークン キャッシュで使用可能なアカウントの識別子によって、 IAccount コレクションを取得します。 これは、Azure AD B2C シナリオ用です。

(継承元 ClientApplicationBase)
GetAccountsAsync(String)

ユーザー フローに基づいて、トークン キャッシュで使用可能なアカウントの識別子によって、 IAccount コレクションを取得します。 これは、Azure AD B2C シナリオ用です。

(継承元 ClientApplicationBase)
GetAuthorizationRequestUrl(IEnumerable<String>)

承認要求の URL を計算して、ユーザーがサインインし、ユーザー名の特定のスコープにアクセスするアプリケーションに同意します。 URL は、アプリケーションで構成された機関の /authorize エンドポイントを対象とします。 このオーバーライドを使用すると、ログイン ヒントと追加のクエリ パラメーターを指定できます。

InitiateLongRunningProcessInWebApi(IEnumerable<String>, String, String)

OAuth 2.0 On-Behalf-Of フローを使用して、ユーザーの代わりにダウンストリームで保護された別の Web API にアクセスするために、アプリケーションで構成された機関からこの Web API のアクセス トークンを取得します。 MSAL.NET で実行時間の長い OBO を参照してください。 userToken パラメーターでこの機密クライアント アプリケーションを呼び出すために使用されたアクセス トークン (ID トークンではありません) を渡します。 <seealso cref="M:Microsoft を使用します。Identity.Client.Extensibility.ConfidentialClientApplicationExtensions.StopLongRunningProcessInWebApiAsync(Microsoft.Identity.Client.ILongRunningWebApi,System.String,System.Threading.CancellationToken)"></seealso> 実行時間の長いプロセスを停止し、関連するトークンをキャッシュから削除します。

RemoveAsync(IAccount, CancellationToken)

指定したアカウントのキャッシュ内のすべてのトークンを削除します。

(継承元 ClientApplicationBase)
RemoveAsync(IAccount)

指定したアカウントのキャッシュ内のすべてのトークンを削除します。

(継承元 ClientApplicationBase)
StopLongRunningProcessInWebApiAsync(String, CancellationToken)

提供されたキャッシュ キーに関連付けられているトークンを削除して、進行中の実行時間の長い on-behalf-of セッションを停止します。 MSAL.NET で実行時間の長い OBO を参照してください。

明示的なインターフェイスの実装

名前 説明
IByRefreshToken.AcquireTokenByRefreshToken(IEnumerable<String>, String)

機密クライアント アプリケーション (Web アプリ、Web API、デーモン アプリケーション) に使用するクラス。

IByUserFederatedIdentityCredential.AcquireTokenByUserFederatedIdentityCredential(IEnumerable<String>, Guid, String)

フェデレーション ID 資格情報アサーションを使用して、ユーザーに代わってトークンを取得します。 これにより、 user_fic 許可の種類が使用されます。 ユーザーはオブジェクト ID (OID) で識別されます。

IByUserFederatedIdentityCredential.AcquireTokenByUserFederatedIdentityCredential(IEnumerable<String>, String, String)

フェデレーション ID 資格情報アサーションを使用して、ユーザーに代わってトークンを取得します。 これにより、 user_fic 許可の種類が使用されます。 ユーザーは UPN によって識別されます。

IByUsernameAndPassword.AcquireTokenByUsernamePassword(IEnumerable<String>, String, String)

ユーザー名とパスワード認証を使用して、ユーザー操作なしでトークンを取得します。 このメソッドはトークン キャッシュを検索しませんが、結果を格納します。 このメソッドを呼び出す前に、 AcquireTokenSilent(IEnumerable<String>, IAccount) などの他のメソッドを使用してトークン キャッシュを確認します。

拡張メソッド

名前 説明
GetCertificate(IConfidentialClientApplication)

この ConfidentialClientApplicationの作成に使用した証明書 (存在する場合) を返します。

StopLongRunningProcessInWebApiAsync(ILongRunningWebApi, String, CancellationToken)

提供されたキャッシュ キーに関連付けられているトークンを削除して、進行中の実行時間の長い on-behalf-of セッションを停止します。 MSAL.NET で実行時間の長い OBO を参照してください。

適用対象