ConfidentialClientApplicationBuilder クラス

定義

public class ConfidentialClientApplicationBuilder : Microsoft.Identity.Client.AbstractApplicationBuilder<Microsoft.Identity.Client.ConfidentialClientApplicationBuilder>
type ConfidentialClientApplicationBuilder = class
    inherit AbstractApplicationBuilder<ConfidentialClientApplicationBuilder>
Public Class ConfidentialClientApplicationBuilder
Inherits AbstractApplicationBuilder(Of ConfidentialClientApplicationBuilder)
継承

メソッド

名前 説明
Build()

ConfidentialClientApplicationBuilderで設定されたパラメーターからIConfidentialClientApplicationのインスタンスを構築します。

Create(String)

clientID から ConfidentialClientApplicationBuilder を作成します。 「https://aka.ms/msal-net-application-configuration」を参照してください。

CreateWithApplicationOptions(ConfidentialClientApplicationOptions)

アプリケーション構成オプションからの ConfidentialClientApplicationBuilder のコンストラクター。 「https://aka.ms/msal-net-application-configuration」を参照してください。

WithAdfsAuthority(String, Boolean)

ADFS サーバーに対応する既知の機関を追加します。 「https://aka.ms/msal-net-adfs」を参照してください。

(継承元 AbstractApplicationBuilder<T>)
WithAuthority(AadAuthorityAudience, Boolean)

サインイン対象ユーザー (クラウドがパブリック クラウドAzure) を指定してサインイン ユーザーに、既知のAzure AD 機関をアプリケーションに追加します。 https://aka.ms/msal-net-application-configurationを参照してください。

(継承元 AbstractApplicationBuilder<T>)
WithAuthority(AzureCloudInstance, AadAuthorityAudience, Boolean)

クラウド インスタンスとサインイン対象ユーザーを指定するサインイン ユーザーに、既知のAzure AD 機関をアプリケーションに追加します。 https://aka.ms/msal-net-application-configurationを参照してください。

(継承元 AbstractApplicationBuilder<T>)
WithAuthority(AzureCloudInstance, Guid, Boolean)

クラウド インスタンスとそのテナント ID によって記述された単一組織 (シングル テナント アプリケーション) のユーザーをサインインさせるために、アプリケーションに既知のAzure AD 機関を追加します。 https://aka.ms/msal-net-application-configurationを参照してください。

(継承元 AbstractApplicationBuilder<T>)
WithAuthority(AzureCloudInstance, String, Boolean)

クラウド インスタンスとそのドメイン名またはテナント ID によって記述された 1 つの組織 (シングルテナント アプリケーション) のユーザーをサインインさせるために、アプリケーションに既知のAzure AD 機関を追加します。 https://aka.ms/msal-net-application-configurationを参照してください。

(継承元 AbstractApplicationBuilder<T>)
WithAuthority(String, Boolean)

完全な権限 URI を指定するサインイン ユーザーに、既知の Azure AD 機関をアプリケーションに追加します。 アプリケーション 構成オプションを参照してください。

(継承元 AbstractApplicationBuilder<T>)
WithAuthority(String, Guid, Boolean)

既知の Azure AD 機関をアプリケーションに追加して、そのテナント ID で指定された単一の組織 (シングルテナント アプリケーション) のユーザーをサインインさせます。 アプリケーション 構成オプションを参照してください。

(継承元 AbstractApplicationBuilder<T>)
WithAuthority(String, String, Boolean)

ドメイン名で記述された 1 つの組織 (シングルテナント アプリケーション) のユーザーをサインインさせるために、アプリケーションに既知のAzure AD 機関を追加します。 https://aka.ms/msal-net-application-configurationを参照してください。

(継承元 AbstractApplicationBuilder<T>)
WithAuthority(Uri, Boolean)

アプリケーションに既知の権限を追加します。 アプリケーション 構成オプションを参照してください。 このコンストラクターは、主に、機関が標準の Azure AD 機関でも ADFS 機関でも、AZURE AD B2C 機関でもないシナリオに使用されます。 Azure AD の場合、ソブリン クラウドでも、次のような他のオーバーライドの使用を優先します。WithAuthority(AzureCloudInstance, AadAuthorityAudience, Boolean)

(継承元 AbstractApplicationBuilder<T>)
WithAzureRegion(String)

Azureリージョン トークン サービスを使用するように MSAL に指示します。 この機能は現在、ファースト パーティアプリケーションでのみ使用できます。

WithB2CAuthority(String)

Azure AD B2C ポリシーに対応する既知の機関を追加します。 「https://aka.ms/msal-net-b2c-specificities」を参照してください。

(継承元 AbstractApplicationBuilder<T>)
WithCacheOptions(CacheOptions)

MSAL トークン キャッシュのオプション。

MSAL は、トークン キャッシュをメモリ内に内部的に保持します。 既定では、このキャッシュ オブジェクトは、 PublicClientApplication または ConfidentialClientApplicationの各インスタンスの一部です。 このメソッドを使用すると、MSAL のメモリ内トークン キャッシュをカスタマイズできます。

MSAL のメモリ キャッシュは、トークン キャッシュのシリアル化とは異なります。 キャッシュのシリアル化では、キャッシュ (Redis、Cosmos、ディスク上のファイルなど) からトークンがプルされ、JSON 形式で格納され、MSAL の内部メモリ キャッシュに格納されます。 メモリ キャッシュ操作には JSON 操作は含まれません。

外部キャッシュのシリアル化は、永続化を提供するため、デスクトップ アプリ、Web サイト、Web API を処理するための推奨される方法です。 現在、これらのオプションは外部キャッシュのシリアル化を制御しません。

各アプリケーションの種類とプラットフォームの詳細なガイダンス: https://aka.ms/msal-net-token-cache-serialization

(継承元 AbstractApplicationBuilder<T>)
WithCacheSynchronization(Boolean)

trueに設定すると、MSAL はキャッシュ アクセスを ConfidentialClientApplication レベルでロックします。つまり、BeforeAccessAsync コールバックと AfterAccessAsync コールバックの間のコード ブロックが同期されます。 アプリは、このフラグを false に設定してオプティミスティック キャッシュ ロック戦略を有効にすることができます。これにより、キャッシュの一貫性を犠牲にしてパフォーマンスが向上する可能性があります。 このフラグを false に設定することは、要求ごとに新しい ConfidentialClientApplication を作成するアプリにのみ推奨されます。

WithCertificate(X509Certificate2, Boolean)

アプリケーションに関連付けられている証明書を設定します。 ファースト パーティのアプリケーションにのみ適用されます。この方法では、x5c 要求を Azure AD に送信するかどうかを指定することもできます。 x5c を送信すると、アプリケーション開発者は、Azure AD で簡単に証明書のロールオーバーを実現できます。この方法では、証明書チェーンをトークン要求と共に Azure AD に送信します。これにより、Azure AD はそれを使用して、信頼された発行者ポリシーに基づいてサブジェクト名を検証できます。 これにより、アプリケーション管理者は証明書のロールオーバーを明示的に管理する必要ができなくなります (ポータルまたは PowerShell/CLI 操作を使用)。 詳細については、以下を参照してください。 https://aka.ms/msal-net-sni

WithCertificate(X509Certificate2, CertificateOptions)

アプリケーションに関連付けられている証明書を設定します。 ファースト パーティのアプリケーションにのみ適用されます。この方法では、x5c 要求を Azure AD に送信するかどうかを指定することもできます。 x5c を送信すると、アプリケーション開発者は、Azure AD で簡単に証明書のロールオーバーを実現できます。この方法では、証明書チェーンをトークン要求と共に Azure AD に送信します。これにより、Azure AD はそれを使用して、信頼された発行者ポリシーに基づいてサブジェクト名を検証できます。 これにより、アプリケーション管理者は証明書のロールオーバーを明示的に管理する必要ができなくなります (ポータルまたは PowerShell/CLI 操作を使用)。 詳細については、以下を参照してください。 https://aka.ms/msal-net-sni

WithCertificate(X509Certificate2)

アプリケーションに関連付けられている証明書を設定します。

WithClientAssertion(Func<AssertionRequestOptions,CancellationToken,Task<ClientSignedAssertion>>)

認証にクライアント アサーションを使用するようにクライアント アプリケーションを構成します。

WithClientAssertion(Func<AssertionRequestOptions,Task<String>>)

クライアント アサーションを作成する非同期デリゲートを構成します。 デリゲートは、キャッシュからトークンを取得できない場合にのみ呼び出されます。 「https://aka.ms/msal-net-client-assertion」を参照してください。

WithClientAssertion(Func<CancellationToken,Task<String>>)

クライアント アサーションを作成する非同期デリゲートを構成します。 「https://aka.ms/msal-net-client-assertion」を参照してください。

WithClientAssertion(Func<String>)

クライアント アサーションを作成するデリゲートを構成します。 「https://aka.ms/msal-net-client-assertion」を参照してください。

WithClientAssertion(String)
古い.

アプリケーション クライアント アサーションを設定します。 https://aka.ms/msal-net-client-assertionを参照してください。 これにより、クライアント アプリケーションのメモリ内でクライアントの期間中保持されるアサーションが作成されます。 WithClientAssertion(Func<String>)を使用して、認証要求ごとに実行されるデリゲートを設定できます。 これにより、アサーションの有効期限が切れると、クライアント アプリケーションで使用されるクライアント アサーションを更新できます。

WithClientCapabilities(IEnumerable<String>)

Microsoft ID 固有の OIDC 拡張機能を使用すると、対話なしでリソースチャレンジを解決できます。 1 つ以上のクライアント機能の構成を許可します (例: "llt"

(継承元 AbstractApplicationBuilder<T>)
WithClientClaims(X509Certificate2, IDictionary<String,String>, Boolean, Boolean)
古い.

署名する特定の要求と共に、アプリケーションに関連付けられている証明書を設定します。 既定では、認証に必要な要求の既定のセットと claimsToSign がマージされます。 mergeWithDefaultClaimsが false に設定されている場合は、必要な既定の要求を指定する必要があります。 「https://aka.ms/msal-net-client-assertion」を参照してください。

WithClientClaims(X509Certificate2, IDictionary<String,String>, Boolean)
古い.

署名する特定の要求と共に、アプリケーションに関連付けられている証明書を設定します。 既定では、認証に必要な要求の既定のセットと claimsToSign がマージされます。 mergeWithDefaultClaimsが false に設定されている場合は、必要な既定の要求を指定する必要があります。 「https://aka.ms/msal-net-client-assertion」を参照してください。

WithClientId(String)

アプリケーションのクライアント ID を設定します

(継承元 AbstractApplicationBuilder<T>)
WithClientName(String)

テレメトリの目的で呼び出し元の SDK API の名前を設定します。

(継承元 BaseAbstractApplicationBuilder<T>)
WithClientSecret(String)

アプリケーション シークレットを設定します

WithClientVersion(String)

テレメトリの目的で呼び出し元 SDK のバージョンを設定します。

(継承元 BaseAbstractApplicationBuilder<T>)
WithDebugLoggingCallback(LogLevel, Boolean, Boolean)

デバッグ ログ コールバックを、メッセージのレベルとメッセージ自体を表示する既定のデバッグ メソッドに設定します。 詳細については、以下を参照してください。 https://aka.ms/msal-net-logging

(継承元 BaseAbstractApplicationBuilder<T>)
WithExperimentalFeatures(Boolean)

試験的な機能と API の使用を許可します。 このフラグが設定されていない場合、試験的な機能は例外をスローします。 詳細については、以下を参照してください。 https://aka.ms/msal-net-experimental-features

(継承元 BaseAbstractApplicationBuilder<T>)
WithExtraQueryParameters(IDictionary<String,String>)
古い.

HTTP 認証要求のクエリ文字列の追加クエリ パラメーターを設定します。

(継承元 AbstractApplicationBuilder<T>)
WithExtraQueryParameters(IDictionary<String,ValueTuple<String,Boolean>>)

キャッシュ キーに含めるパラメーターを制御して、HTTP 認証要求のクエリ文字列の追加クエリ パラメーターを設定します

(継承元 AbstractApplicationBuilder<T>)
WithExtraQueryParameters(String)
古い.

HTTP 認証要求のクエリ文字列の追加クエリ パラメーターを設定します。

(継承元 AbstractApplicationBuilder<T>)
WithGenericAuthority(String)
古い.

代わりに WithOidcAuthority(String) を呼び出します。

WithHttpClientFactory(IMsalHttpClientFactory, Boolean)

特定の IMsalHttpClientFactory を使用して IdP と通信します。 これにより、プロキシの設定やエージェントの設定などの高度なシナリオが可能になります。

(継承元 BaseAbstractApplicationBuilder<T>)
WithHttpClientFactory(IMsalHttpClientFactory)

特定の IMsalHttpClientFactory を使用して IdP と通信します。 これにより、プロキシの設定やエージェントの設定などの高度なシナリオが可能になります。

(継承元 BaseAbstractApplicationBuilder<T>)
WithInstanceDicoveryMetadata(String)
古い.

開発者が独自の有効な機関を構成できるようにします。 https://aka.ms/aad-instance-discoveryのような json 文字列を指定する必要があります。 MSAL では、次の目的でこの情報が使用されます。

  • preferred_networkで指定された環境で REST API を呼び出す
  • トークンとアカウントをキャッシュに保存する環境を特定する
  • 環境エイリアスを使用して他の機関に発行されたトークンを照合する
詳細については、以下を参照してください。 https://aka.ms/msal-net-custom-instance-metadata (継承元 AbstractApplicationBuilder<T>)
WithInstanceDicoveryMetadata(Uri)
古い.

組織は、インスタンス検出を処理するように独自のサービスを設定できます。これにより、マイクロサービス/サービス環境のキャッシュが向上します。 https://aka.ms/aad-instance-discoveryのような応答を返す Uri を指定する必要があります。 MSAL では、次の目的でこの情報が使用されます。

  • preferred_networkで指定された環境で REST API を呼び出す
  • トークンとアカウントをキャッシュに保存する環境を特定する
  • 環境エイリアスを使用して他の機関に発行されたトークンを照合する
詳細については、以下を参照してください。 https://aka.ms/msal-net-custom-instance-metadata (継承元 AbstractApplicationBuilder<T>)
WithInstanceDiscovery(Boolean)

認証を試みるときにインスタンス検出を実行するかどうかを決定します。 これを false に設定すると、インスタンスの検出と機関の検証が完全に無効になります。 ただし、これはリージョン エンドポイントで構成されたアプリケーションの動作には影響しません。

(継承元 AbstractApplicationBuilder<T>)
WithInstanceDiscoveryMetadata(String)

開発者が独自の有効な機関を構成できるようにします。 https://aka.ms/aad-instance-discoveryのような json 文字列を指定する必要があります。 MSAL では、次の目的でこの情報が使用されます。

  • preferred_networkで指定された環境で REST API を呼び出す
  • トークンとアカウントをキャッシュに保存する環境を特定する
  • 環境エイリアスを使用して他の機関に発行されたトークンを照合する
詳細については、以下を参照してください。 https://aka.ms/msal-net-custom-instance-metadata (継承元 AbstractApplicationBuilder<T>)
WithInstanceDiscoveryMetadata(Uri)

組織は、インスタンス検出を処理するように独自のサービスを設定できます。これにより、マイクロサービス/サービス環境のキャッシュが向上します。 https://aka.ms/aad-instance-discoveryのような応答を返す Uri を指定する必要があります。 MSAL では、次の目的でこの情報が使用されます。

  • preferred_networkで指定された環境で REST API を呼び出す
  • トークンとアカウントをキャッシュに保存する環境を特定する
  • 環境エイリアスを使用して他の機関に発行されたトークンを照合する
詳細については、以下を参照してください。 https://aka.ms/msal-net-custom-instance-metadata (継承元 AbstractApplicationBuilder<T>)
WithLegacyCacheCompatibility(Boolean)

レガシ ADAL キャッシュのシリアル化と逆シリアル化を有効にします。

(継承元 AbstractApplicationBuilder<T>)
WithLogging(IIdentityLogger, Boolean)

ID ロガーを設定します。 詳細については、以下を参照してください。 https://aka.ms/msal-net-logging

(継承元 BaseAbstractApplicationBuilder<T>)
WithLogging(LogCallback, Nullable<LogLevel>, Nullable<Boolean>, Nullable<Boolean>)

ログ 記録コールバックを設定します。 詳細については、以下を参照してください。 https://aka.ms/msal-net-logging

(継承元 BaseAbstractApplicationBuilder<T>)
WithOidcAuthority(String)

汎用 OpenIdConnect ID プロバイダーに対応する既知の機関を追加します。 MSAL は、".well-known/openid-configuration" を機関に追加し、そこから OIDC メタデータを取得してエンドポイントを特定します。 「https://openid.net/specs/openid-connect-core-1_0.html#Terminology」を参照してください。

WithOptions(ApplicationOptions)

たとえば、構成ファイルから読み取られたアプリケーション オプションを設定します。 https://aka.ms/msal-net-application-configurationを参照してください。

(継承元 AbstractApplicationBuilder<T>)
WithOptions(BaseApplicationOptions)

たとえば、構成ファイルから読み取られたアプリケーション オプションを設定します。 https://aka.ms/msal-net-application-configurationを参照してください。

(継承元 BaseAbstractApplicationBuilder<T>)
WithRedirectUri(String)

アプリケーションのリダイレクト URI を設定します。 URI は、アプリケーション ポータルにも登録する必要があります。 「https://aka.ms/msal-net-application-configuration」を参照してください。

(継承元 AbstractApplicationBuilder<T>)
WithTelemetry(ITelemetryConfig)
古い.

テレメトリ集計イベントを生成します。

(継承元 AbstractApplicationBuilder<T>)
WithTelemetryClient(ITelemetryClient[])
古い.

メソッドは廃止されています。 「https://aka.ms/msal-net-telemetry」を参照してください。

WithTenantId(String)

アプリケーションがユーザーのサインインを許可する組織のテナント ID を設定します。 これは、従来は GUID またはドメイン名です。 https://aka.ms/msal-net-application-configurationを参照してください。 tenantIdcommonorganizationsconsumersに設定することもできますが、WithAuthority(AzureCloudInstance, AadAuthorityAudience, Boolean)のいずれかのオーバーライドを使用することをお勧めします。

(継承元 AbstractApplicationBuilder<T>)

拡張メソッド

名前 説明
OnCompletion(ConfidentialClientApplicationBuilder, Func<AssertionRequestOptions,ExecutionResult,Task>)

トークン取得要求が完了したときに呼び出される非同期コールバックを構成します。 このコールバックは、すべての再試行が終了した後、 AcquireTokenForClient 呼び出しごとに 1 回呼び出されます。 一般的なケースには OnCompletion という名前が付けられていますが、このコールバックは、成功した取得と失敗した取得の両方に対して発生します。 これにより、テレメトリ、ログ記録、カスタム結果処理などのシナリオが可能になります。

OnMsalServiceFailure(ConfidentialClientApplicationBuilder, Func<AssertionRequestOptions,ExecutionResult,Task<Boolean>>)

MSAL が ID プロバイダー (セキュリティ トークン サービス) からエラー応答を受信したときに呼び出される非同期コールバックを構成します。 コールバックは、MSAL がトークン要求を再試行するか、例外を伝達するかを決定します。 このコールバックは、各サービス障害の後に呼び出され、 false を返すか、要求が成功するまで複数回呼び出すことができます。

WithAppTokenProvider(ConfidentialClientApplicationBuilder, Func<AppTokenProviderParameters,Task<AppTokenProviderResult>>)

渡されたパラメーターに基づいてアクセス トークンを返すコールバックを設定できます。 MSAL は認証パラメーターをコールバックに渡し、コールバックが AppTokenProviderResult を構築して MSAL に返すことが期待されます。 MSAL は、他の認証結果の場合と同じ方法でトークン応答をキャッシュします。

WithCertificate(ConfidentialClientApplicationBuilder, Func<AssertionRequestOptions,Task<X509Certificate2>>, CertificateOptions)

クライアント資格情報証明書を動的に提供するように非同期コールバックを構成します。 コールバックは、ID プロバイダーへのトークン取得要求 (再試行を含む) の前に呼び出されます。 これにより、証明書のローテーションや、アプリケーション コンテキストに基づく動的な証明書の選択などのシナリオが可能になります。

WithCertificate(ConfidentialClientApplicationBuilder, X509Certificate2, Boolean, Boolean)

アプリケーションに関連付けられている証明書を設定します。 ファースト パーティのアプリケーションにのみ適用されます。この方法では、x5c 要求を Azure AD に送信するかどうかを指定することもできます。 x5c を送信すると、アプリケーション開発者は、Azure AD で簡単に証明書のロールオーバーを実現できます。この方法では、証明書チェーンをトークン要求と共に Azure AD に送信します。これにより、Azure AD はそれを使用して、信頼された発行者ポリシーに基づいてサブジェクト名を検証できます。 これにより、アプリケーション管理者は証明書のロールオーバーを明示的に管理する必要ができなくなります (ポータルまたは PowerShell/CLI 操作を使用)。 詳細については、「https://aka.ms/msal-net-sniこの API を使用すると、AZURE AD から取得したトークンを証明書のシリアル番号に関連付けることができます。 これを使用して、証明書によってキャッシュをパーティション分割できます。 1 つの証明書で取得されたトークンは、別のシリアル番号を持つ別の証明書からはアクセスできません。

適用対象