ConfidentialClientApplicationBuilder Clase

Definición

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

Métodos

Nombre Description
Build()

Compila una instancia de a partir de IConfidentialClientApplication los parámetros establecidos en .ConfidentialClientApplicationBuilder

Create(String)

Crea un objeto ConfidentialClientApplicationBuilder a partir de un clientID. Vea https://aka.ms/msal-net-application-configuration.

CreateWithApplicationOptions(ConfidentialClientApplicationOptions)

Constructor de confidentialClientApplicationBuilder desde las opciones de configuración de la aplicación. Vea https://aka.ms/msal-net-application-configuration.

WithAdfsAuthority(String, Boolean)

Agrega una entidad conocida correspondiente a un servidor ADFS. Vea https://aka.ms/msal-net-adfs.

(Heredado de AbstractApplicationBuilder<T>)
WithAuthority(AadAuthorityAudience, Boolean)

Agrega una entidad de Azure AD conocida a la aplicación para iniciar sesión a los usuarios que especifican el público de inicio de sesión (la nube es la nube Azure nube pública). Consulte https://aka.ms/msal-net-application-configuration.

(Heredado de AbstractApplicationBuilder<T>)
WithAuthority(AzureCloudInstance, AadAuthorityAudience, Boolean)

Agrega una entidad de Azure AD conocida a la aplicación para iniciar sesión a los usuarios que especifican la instancia de nube y la audiencia de inicio de sesión. Consulte https://aka.ms/msal-net-application-configuration.

(Heredado de AbstractApplicationBuilder<T>)
WithAuthority(AzureCloudInstance, Guid, Boolean)

Agrega una entidad de Azure AD conocida a la aplicación a los usuarios de inicio de sesión desde una sola organización (aplicación de inquilino único) descrita por su instancia de nube y su identificador de inquilino. Consulte https://aka.ms/msal-net-application-configuration.

(Heredado de AbstractApplicationBuilder<T>)
WithAuthority(AzureCloudInstance, String, Boolean)

Agrega una entidad de Azure AD conocida a la aplicación para iniciar sesión a los usuarios de una sola organización (aplicación de inquilino único) descrita por su instancia de nube y su nombre de dominio o identificador de inquilino. Consulte https://aka.ms/msal-net-application-configuration.

(Heredado de AbstractApplicationBuilder<T>)
WithAuthority(String, Boolean)

Agrega una entidad de Azure AD conocida a la aplicación para iniciar sesión a los usuarios que especifican el URI de autoridad completa. Consulte Opciones de configuración de la aplicación.

(Heredado de AbstractApplicationBuilder<T>)
WithAuthority(String, Guid, Boolean)

Agrega una entidad de Azure AD conocida a la aplicación para iniciar sesión a los usuarios de una sola organización (aplicación de inquilino único) especificada por su identificador de inquilino. Consulte Opciones de configuración de la aplicación.

(Heredado de AbstractApplicationBuilder<T>)
WithAuthority(String, String, Boolean)

Agrega una entidad de Azure AD conocida a la aplicación a los usuarios de inicio de sesión desde una sola organización (aplicación de inquilino único) descrita por su nombre de dominio. Consulte https://aka.ms/msal-net-application-configuration.

(Heredado de AbstractApplicationBuilder<T>)
WithAuthority(Uri, Boolean)

Agrega una autoridad conocida a la aplicación. Consulte Opciones de configuración de la aplicación. Este constructor se usa principalmente para escenarios en los que la autoridad no es una autoridad de AD estándar Azure, ni una autoridad de ADFS, ni una autoridad de Azure AD B2C. Para Azure AD, incluso en nubes soberanas, prefiere usar otras invalidaciones, comoWithAuthority(AzureCloudInstance, AadAuthorityAudience, Boolean)

(Heredado de AbstractApplicationBuilder<T>)
WithAzureRegion(String)

Indica a MSAL que use un servicio de token regional de Azure. Esta característica solo está disponible para aplicaciones propias.

WithB2CAuthority(String)

Agrega una autoridad conocida correspondiente a una directiva de Azure AD B2C. Vea https://aka.ms/msal-net-b2c-specificities.

(Heredado de AbstractApplicationBuilder<T>)
WithCacheOptions(CacheOptions)

Opciones para las cachés de tokens de MSAL.

MSAL mantiene una caché de tokens internamente en la memoria. De forma predeterminada, este objeto de caché forma parte de cada instancia de PublicClientApplication o ConfidentialClientApplication. Este método permite personalizar la caché de tokens en memoria de MSAL.

La caché de memoria de MSAL es diferente de la serialización de caché de tokens. La serialización de caché extrae los tokens de una memoria caché (por ejemplo, Redis, Cosmos o un archivo en disco), donde se almacenan en formato JSON, en la caché de memoria interna de MSAL. Las operaciones de caché de memoria no implican operaciones JSON.

La serialización de caché externa sigue siendo la manera recomendada de controlar las aplicaciones de escritorio, el sitio web y las API web, ya que proporciona persistencia. Estas opciones no controlan actualmente la serialización de caché externa.

Instrucciones detalladas para cada tipo de aplicación y plataforma: https://aka.ms/msal-net-token-cache-serialization

(Heredado de AbstractApplicationBuilder<T>)
WithCacheSynchronization(Boolean)

Cuando se establece trueen , MSAL bloqueará el acceso a la caché en el ConfidentialClientApplication nivel, es decir, el bloque de código entre BeforeAccessAsync y AfterAccessAsync se sincronizará. Las aplicaciones pueden establecer esta marca en false para habilitar una estrategia de bloqueo de caché optimista, lo que puede dar lugar a un mejor rendimiento a costa de la coherencia de la caché. Establecer esta marca false en solo se recomienda para las aplicaciones que crean una nueva ConfidentialClientApplication por solicitud.

WithCertificate(X509Certificate2, Boolean)

Establece el certificado asociado a la aplicación. Aplicable solo a las aplicaciones propias, este método también permite especificar si la notificación x5c debe enviarse a Azure AD. El envío de x5c permite a los desarrolladores de aplicaciones lograr una implementación sencilla de certificados en Azure AD: este método enviará la cadena de certificados a Azure AD junto con la solicitud de token, para que Azure AD pueda usarlo para validar el nombre del firmante en función de una directiva de emisor de confianza. Esto guarda al administrador de la aplicación de la necesidad de administrar explícitamente la sustitución de certificados (ya sea a través del portal o la operación de PowerShell o la CLI). Para obtener más información, consulte https://aka.ms/msal-net-sni

WithCertificate(X509Certificate2, CertificateOptions)

Establece el certificado asociado a la aplicación. Aplicable solo a las aplicaciones propias, este método también permite especificar si la notificación x5c debe enviarse a Azure AD. El envío de x5c permite a los desarrolladores de aplicaciones lograr una implementación sencilla de certificados en Azure AD: este método enviará la cadena de certificados a Azure AD junto con la solicitud de token, para que Azure AD pueda usarlo para validar el nombre del firmante en función de una directiva de emisor de confianza. Esto guarda al administrador de la aplicación de la necesidad de administrar explícitamente la sustitución de certificados (ya sea a través del portal o la operación de PowerShell o la CLI). Para obtener más información, consulte https://aka.ms/msal-net-sni

WithCertificate(X509Certificate2)

Establece el certificado asociado a la aplicación.

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

Configura la aplicación cliente para usar una aserción de cliente para la autenticación.

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

Configura un delegado asincrónico que crea una aserción de cliente. El delegado solo se invoca cuando no se puede recuperar un token de la memoria caché. Vea https://aka.ms/msal-net-client-assertion.

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

Configura un delegado asincrónico que crea una aserción de cliente. Vea https://aka.ms/msal-net-client-assertion.

WithClientAssertion(Func<String>)

Configura un delegado que crea una aserción de cliente. Vea https://aka.ms/msal-net-client-assertion.

WithClientAssertion(String)
Obsoletos.

Establece la aserción del cliente de aplicación. Consulte https://aka.ms/msal-net-client-assertion. Esto creará una aserción que se conservará dentro de la memoria de la aplicación cliente durante la duración del cliente. Puede usar WithClientAssertion(Func<String>) para establecer un delegado que se ejecutará para cada solicitud de autenticación. Esto le permitirá actualizar la aserción de cliente usada por la aplicación cliente una vez que expire la aserción.

WithClientCapabilities(IEnumerable<String>)

Microsoft extensión OIDC específica de identidad que permite resolver los desafíos de recursos sin interacción. Permite la configuración de una o varias funcionalidades de cliente, por ejemplo, "llt"

(Heredado de AbstractApplicationBuilder<T>)
WithClientClaims(X509Certificate2, IDictionary<String,String>, Boolean, Boolean)
Obsoletos.

Establece el certificado asociado a la aplicación junto con las notificaciones específicas que se van a firmar. De forma predeterminada, se combinará con claimsToSign el conjunto predeterminado necesario de notificaciones necesarias para la autenticación. Si mergeWithDefaultClaims se establece en false, deberá proporcionar las notificaciones predeterminadas necesarias. Vea https://aka.ms/msal-net-client-assertion.

WithClientClaims(X509Certificate2, IDictionary<String,String>, Boolean)
Obsoletos.

Establece el certificado asociado a la aplicación junto con las notificaciones específicas que se van a firmar. De forma predeterminada, se combinará con claimsToSign el conjunto predeterminado necesario de notificaciones necesarias para la autenticación. Si mergeWithDefaultClaims se establece en false, deberá proporcionar las notificaciones predeterminadas necesarias. Vea https://aka.ms/msal-net-client-assertion.

WithClientId(String)

Establece el identificador de cliente de la aplicación.

(Heredado de AbstractApplicationBuilder<T>)
WithClientName(String)

Establece el nombre de la API del SDK que llama con fines de telemetría.

(Heredado de BaseAbstractApplicationBuilder<T>)
WithClientSecret(String)

Establece el secreto de aplicación

WithClientVersion(String)

Establece la versión del SDK de llamada con fines de telemetría.

(Heredado de BaseAbstractApplicationBuilder<T>)
WithDebugLoggingCallback(LogLevel, Boolean, Boolean)

Establece la devolución de llamada de registro de depuración en un método de depuración predeterminado que muestra el nivel del mensaje y el propio mensaje. Para obtener más información, consulte https://aka.ms/msal-net-logging

(Heredado de BaseAbstractApplicationBuilder<T>)
WithExperimentalFeatures(Boolean)

Permite el uso de características y API experimentales. Si no se establece esta marca, las características experimentales producirán una excepción. Para obtener más información, consulte https://aka.ms/msal-net-experimental-features

(Heredado de BaseAbstractApplicationBuilder<T>)
WithExtraQueryParameters(IDictionary<String,String>)
Obsoletos.

Establece parámetros de consulta adicionales para la cadena de consulta en la solicitud de autenticación HTTP.

(Heredado de AbstractApplicationBuilder<T>)
WithExtraQueryParameters(IDictionary<String,ValueTuple<String,Boolean>>)

Establece parámetros de consulta adicionales para la cadena de consulta en la solicitud de autenticación HTTP con control sobre qué parámetros se incluyen en la clave de caché.

(Heredado de AbstractApplicationBuilder<T>)
WithExtraQueryParameters(String)
Obsoletos.

Establece parámetros de consulta adicionales para la cadena de consulta en la solicitud de autenticación HTTP.

(Heredado de AbstractApplicationBuilder<T>)
WithGenericAuthority(String)
Obsoletos.

Llame en su lugar a WithOidcAuthority(String).

WithHttpClientFactory(IMsalHttpClientFactory, Boolean)

Usa un elemento específico IMsalHttpClientFactory para comunicarse con el IdP. Esto habilita escenarios avanzados, como establecer un proxy o establecer el Agente.

(Heredado de BaseAbstractApplicationBuilder<T>)
WithHttpClientFactory(IMsalHttpClientFactory)

Usa un elemento específico IMsalHttpClientFactory para comunicarse con el IdP. Esto permite escenarios avanzados, como establecer un proxy o establecer el Agente.

(Heredado de BaseAbstractApplicationBuilder<T>)
WithInstanceDicoveryMetadata(String)
Obsoletos.

Permite a los desarrolladores configurar sus propias autoridades válidas. Se debe proporcionar una cadena json similar a https://aka.ms/aad-instance-discovery . MSAL usa esta información para:

  • Llamada a las API REST en el entorno especificado en el preferred_network
  • Identificación de un entorno en el que se guardan tokens y cuentas en la memoria caché
  • Uso de los alias de entorno para buscar coincidencias con tokens emitidos a otras autoridades
Para obtener más información, consulte https://aka.ms/msal-net-custom-instance-metadata (Heredado de AbstractApplicationBuilder<T>)
WithInstanceDicoveryMetadata(Uri)
Obsoletos.

Permite a una organización configurar su propio servicio para controlar la detección de instancias, lo que permite un mejor almacenamiento en caché para los entornos de microservicios y servicios. Se debe proporcionar un URI que devuelva una respuesta similar a https://aka.ms/aad-instance-discovery . MSAL usa esta información para:

  • Llamada a las API REST en el entorno especificado en el preferred_network
  • Identificación de un entorno en el que se guardan tokens y cuentas en la memoria caché
  • Uso de los alias de entorno para buscar coincidencias con tokens emitidos a otras autoridades
Para obtener más información, consulte https://aka.ms/msal-net-custom-instance-metadata (Heredado de AbstractApplicationBuilder<T>)
WithInstanceDiscovery(Boolean)

Determina si se realiza o no la detección de instancias al intentar autenticarse. Si se establece en false, se deshabilitará completamente la detección de instancias y la validación de la autoridad. Sin embargo, esto no afectará al comportamiento de la aplicación configurada con puntos de conexión regionales.

(Heredado de AbstractApplicationBuilder<T>)
WithInstanceDiscoveryMetadata(String)

Permite a los desarrolladores configurar sus propias autoridades válidas. Se debe proporcionar una cadena json similar a https://aka.ms/aad-instance-discovery . MSAL usa esta información para:

  • Llamada a las API REST en el entorno especificado en el preferred_network
  • Identificación de un entorno en el que se guardan tokens y cuentas en la memoria caché
  • Uso de los alias de entorno para buscar coincidencias con tokens emitidos a otras autoridades
Para obtener más información, consulte https://aka.ms/msal-net-custom-instance-metadata (Heredado de AbstractApplicationBuilder<T>)
WithInstanceDiscoveryMetadata(Uri)

Permite a una organización configurar su propio servicio para controlar la detección de instancias, lo que permite un mejor almacenamiento en caché para los entornos de microservicios y servicios. Se debe proporcionar un URI que devuelva una respuesta similar a https://aka.ms/aad-instance-discovery . MSAL usa esta información para:

  • Llamada a las API REST en el entorno especificado en el preferred_network
  • Identificación de un entorno en el que se guardan tokens y cuentas en la memoria caché
  • Uso de los alias de entorno para buscar coincidencias con tokens emitidos a otras autoridades
Para obtener más información, consulte https://aka.ms/msal-net-custom-instance-metadata (Heredado de AbstractApplicationBuilder<T>)
WithLegacyCacheCompatibility(Boolean)

Habilita la serialización y deserialización de caché de ADAL heredadas.

(Heredado de AbstractApplicationBuilder<T>)
WithLogging(IIdentityLogger, Boolean)

Establece el registrador de identidades. Para obtener más información, consulte https://aka.ms/msal-net-logging

(Heredado de BaseAbstractApplicationBuilder<T>)
WithLogging(LogCallback, Nullable<LogLevel>, Nullable<Boolean>, Nullable<Boolean>)

Establece la devolución de llamada de registro. Para obtener más información, consulte https://aka.ms/msal-net-logging

(Heredado de BaseAbstractApplicationBuilder<T>)
WithOidcAuthority(String)

Agrega una entidad conocida correspondiente a un proveedor de identidades de OpenIdConnect genérico. MSAL anexará ".well-known/openid-configuration" a la autoridad y recuperará los metadatos de OIDC desde allí para averiguar los puntos de conexión. Vea https://openid.net/specs/openid-connect-core-1_0.html#Terminology.

WithOptions(ApplicationOptions)

Establece las opciones de aplicación, que, por ejemplo, se han leído de los archivos de configuración. Consulte https://aka.ms/msal-net-application-configuration.

(Heredado de AbstractApplicationBuilder<T>)
WithOptions(BaseApplicationOptions)

Establece las opciones de aplicación, que, por ejemplo, se han leído de los archivos de configuración. Consulte https://aka.ms/msal-net-application-configuration.

(Heredado de BaseAbstractApplicationBuilder<T>)
WithRedirectUri(String)

Establece el URI de redireccionamiento de la aplicación. El URI también debe estar registrado en el portal de aplicaciones. Vea https://aka.ms/msal-net-application-configuration.

(Heredado de AbstractApplicationBuilder<T>)
WithTelemetry(ITelemetryConfig)
Obsoletos.

Genere eventos de agregación de telemetría.

(Heredado de AbstractApplicationBuilder<T>)
WithTelemetryClient(ITelemetryClient[])
Obsoletos.

Este método está obsoleto. Vea https://aka.ms/msal-net-telemetry.

WithTenantId(String)

Establece el identificador de inquilino de la organización desde la que la aplicación permitirá a los usuarios iniciar sesión. Esto es clásicamente un GUID o un nombre de dominio. Consulte https://aka.ms/msal-net-application-configuration. Aunque también es posible establecer en tenantIdcommon, organizationsy consumers, se recomienda usar una de las invalidaciones de WithAuthority(AzureCloudInstance, AadAuthorityAudience, Boolean).

(Heredado de AbstractApplicationBuilder<T>)

Métodos de extensión

Nombre Description
OnCompletion(ConfidentialClientApplicationBuilder, Func<AssertionRequestOptions,ExecutionResult,Task>)

Configura una devolución de llamada asincrónica que se invoca cuando se completa una solicitud de adquisición de tokens. Esta devolución de llamada se invoca una vez por AcquireTokenForClient llamada, después de que se hayan agotado todos los intentos de reintento. Aunque se denomina OnCompletion para el caso común, esta devolución de llamada se activa tanto para adquisiciones correctas como con errores. Esto permite escenarios como telemetría, registro y control de resultados personalizados.

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

Configura una devolución de llamada asincrónica que se invoca cuando MSAL recibe una respuesta de error del proveedor de identidades (servicio de token de seguridad). La devolución de llamada determina si MSAL debe reintentar la solicitud de token o propagar la excepción. Esta devolución de llamada se invoca después de cada error de servicio y se puede llamar varias veces hasta que se devuelve false o la solicitud se realiza correctamente.

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

Permite establecer una devolución de llamada que devuelve un token de acceso, en función de los parámetros pasados. MSAL pasará sus parámetros de autenticación a la devolución de llamada y se espera que la devolución de llamada construya y AppTokenProviderResult la devuelva a MSAL. MSAL almacenará en caché la respuesta del token de la misma manera que para otros resultados de autenticación.

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

Configura una devolución de llamada asincrónica para proporcionar dinámicamente el certificado de credenciales de cliente. La devolución de llamada se invoca antes de cada solicitud de adquisición de tokens al proveedor de identidades (incluidos los reintentos). Esto permite escenarios como la rotación de certificados y la selección dinámica de certificados en función del contexto de la aplicación.

WithCertificate(ConfidentialClientApplicationBuilder, X509Certificate2, Boolean, Boolean)

Establece el certificado asociado a la aplicación. Aplicable solo a las aplicaciones propias, este método también permite especificar si la notificación x5c debe enviarse a Azure AD. El envío de x5c permite a los desarrolladores de aplicaciones lograr una implementación sencilla de certificados en Azure AD: este método enviará la cadena de certificados a Azure AD junto con la solicitud de token, para que Azure AD pueda usarlo para validar el nombre del firmante en función de una directiva de emisor de confianza. Esto guarda al administrador de la aplicación de la necesidad de administrar explícitamente la sustitución de certificados (ya sea a través del portal o la operación de PowerShell o la CLI). Para obtener más información, consulte https://aka.ms/msal-net-sni Esta API le permite asociar los tokens adquiridos de Azure AD con el número de serie del certificado. Esto se puede usar para particionar la memoria caché por certificado. Los tokens adquiridos con un certificado no serán accesibles para otro certificado con un número de serie diferente.

Se aplica a