ConfidentialClientApplication Clase

Implementaciones

public class ConfidentialClientApplication
extends AbstractClientApplicationBase
implements IConfidentialClientApplication

Clase que se usará para adquirir tokens para aplicaciones cliente confidenciales (Web Apps, API web y aplicaciones de demonio). Para obtener más información, consulte IConfidentialClientApplication

Seguro para subprocesos condicionalmente

Resumen del campo

Modificador y tipo Campo y descripción
java.util.function.Function<AppTokenProviderParameters,java.util.concurrent.CompletableFuture<TokenProviderResult>> appTokenProvider

El proveedor de tokensde aplicacióncrea una credencial a partir de una función que proporciona tokens de acceso.

Resumen del método

Modificador y tipo Método y descripción
java.util.concurrent.CompletableFuture<IAuthenticationResult> acquireToken(ClientCredentialParameters parameters)

Adquiere tokens de la entidad configurada en la aplicación para el propio cliente confidencial.

java.util.concurrent.CompletableFuture<IAuthenticationResult> acquireToken(OnBehalfOfParameters parameters)

Adquiere un token de acceso para esta aplicación (normalmente una API web) de la autoridad configurada en la aplicación, con el fin de acceder a otra API web protegida de bajada en nombre de un usuario mediante el flujo on-Behalf-Of.

static Builder builder(String clientId, IClientCredential clientCredential)

Crea una instancia de Builder of ConfidentialClientApplication

protected com.nimbusds.oauth2.sdk.auth.ClientAuthentication clientAuthentication()
protected com.nimbusds.oauth2.sdk.auth.ClientAuthentication createClientAuthFromClientAssertion(ClientAssertion clientAssertion)
boolean sendX5c()

Métodos heredados de AbstractApplicationBase

Métodos heredados de AbstractClientApplicationBase

Métodos heredados de java.lang.Object

java.lang.Object.clone java.lang.Object.equals java.lang.Object.finalize java.lang.Object.getClass java.lang.Object.hashCode java.lang.Object.notify java.lang.Object.notifyAll java.lang.Object.toString java.lang.Object.wait java.lang.Object.wait java.lang.Object.wait

Detalles del campo

appTokenProvider

public Function<AppTokenProviderParameters,CompletableFuture<TokenProviderResult>> appTokenProvider

AppTokenProvider crea una credencial a partir de una función que proporciona tokens de acceso. La función debe ser segura de simultaneidad. Esto solo está pensado para permitir que el SDK de Azure almacene en caché los tokens MSI. No es útil para las aplicaciones en general porque el proveedor de tokens debe implementar toda la lógica de autenticación.

Detalles del método

acquireToken

public CompletableFuture<IAuthenticationResult> acquireToken(ClientCredentialParameters parameters)

Adquiere tokens de la entidad configurada en la aplicación para el propio cliente confidencial. De forma predeterminada, intentará obtener tokens de la caché de tokens. Si no se encuentra ningún token, vuelve a adquirirlos a través de credenciales de cliente del STS.

Parámetros:

parameters

acquireToken

public CompletableFuture<IAuthenticationResult> acquireToken(OnBehalfOfParameters parameters)

Adquiere un token de acceso para esta aplicación (normalmente una API web) de la autoridad configurada en la aplicación, con el fin de acceder a otra API web protegida de bajada en nombre de un usuario mediante el flujo on-Behalf-Of. De forma predeterminada, intentará obtener tokens de la caché de tokens. Esta aplicación cliente confidencial se llamó a sí misma con un token acces que se proporciona en el UserAssertion campo de OnBehalfOfParameters.

Al serializar o deserializar la memoria caché de tokens en memoria en el almacenamiento permanente, debe haber una caché de tokens por token de acceso entrante, donde el hash del token de acceso entrante se puede usar como clave de caché de tokens. Normalmente, los tokens de acceso solo son válidos durante un período de tiempo de 1 hora y un nuevo token de acceso en el UserAssertion significa que habrá una nueva caché de tokens y una nueva clave de caché de tokens. Para evitar que el almacenamiento permanente se rellene con cachés de tokens expiradas, se debe establecer una directiva de expulsión. Por ejemplo, una caché de tokens que tiene más de un par de horas de antigüedad se puede considerar expirada y, por tanto, se puede expulsar de la caché de tokens serializada.

Parámetros:

parameters

builder

public static ConfidentialClientApplication.Builder builder(String clientId, IClientCredential clientCredential)

Crea una instancia de Builder de ConfidentialClientApplication.

Parámetros:

clientId - Id. de cliente (id. de aplicación) de la aplicación como registrado en el portal de registro de aplicaciones (portal.azure.com)
clientCredential - Credencial de cliente que se va a usar para la adquisición de tokens.

Devoluciones:

instancia de Builder of ConfidentialClientApplication

clientAuthentication

protected ClientAuthentication clientAuthentication()

Invalidaciones:

ConfidentialClientApplication.clientAuthentication()

createClientAuthFromClientAssertion

protected ClientAuthentication createClientAuthFromClientAssertion(ClientAssertion clientAssertion)

Parámetros:

clientAssertion

sendX5c

public boolean sendX5c()

Se aplica a