ConfidentialClientApplication class

Esta clase se usará para adquirir tokens para aplicaciones cliente confidenciales (webApp, webAPI). Las aplicaciones cliente confidenciales configurarán secretos de aplicación, certificados de cliente o aserciones según corresponda.

Extends

Constructores

ConfidentialClientApplication(Configuration)

Constructor para ConfidentialClientApplication

Los atributos necesarios en el objeto Configuration son:

  • clientID: el identificador de aplicación de la aplicación. Puede obtener uno registrando la aplicación con nuestro portal de registro de aplicaciones.
  • authority: la dirección URL de autoridad de la aplicación.
  • credencial de cliente: debe establecer el secreto de cliente, el certificado o la aserción para los clientes confidenciales. Puede obtener un secreto de cliente desde el portal de registro de aplicaciones.

En Azure AD, authority es una dirección URL que indica el formato https://login.microsoftonline.com/{Enter_the_Tenant_Info_Here}. Si la aplicación admite cuentas en un directorio organizativo, reemplace el valor "Enter_the_Tenant_Info_Here" por el identificador de inquilino o el nombre del inquilino (por ejemplo, contoso.microsoft.com). Si la aplicación admite cuentas en cualquier directorio organizativo, reemplace el valor de "Enter_the_Tenant_Info_Here" por organizaciones. Si la aplicación admite cuentas en cualquier directorio organizativo y cuentas de Microsoft personales, reemplace el valor "Enter_the_Tenant_Info_Here" por común. Para restringir el soporte técnico solo a las cuentas de Personal Microsoft, reemplace el valor de "Enter_the_Tenant_Info_Here" por los consumidores.

En Azure B2C, la autoridad tiene el formato https://{instance}/tfp/{tenant}/{policyName}/ La funcionalidad B2C completa estará disponible en esta biblioteca en versiones futuras.

Métodos

acquireTokenByClientCredential(ClientCredentialRequest)

Adquiere tokens de la autoridad de la aplicación (no para un usuario final).

acquireTokenOnBehalfOf(OnBehalfOfRequest)

Adquiere tokens de la entidad de la aplicación.

Se usa en escenarios en los que la aplicación actual es un servicio de nivel intermedio al que se llamó con un token que representa a un usuario final. La aplicación actual puede usar el token (oboAssertion) para solicitar otro token para acceder a la API web de bajada, en nombre de ese usuario.

La aplicación de nivel intermedio actual no tiene ninguna interacción del usuario para obtener el consentimiento. Consulte cómo obtener el consentimiento por adelantado para la aplicación de nivel intermedio de este artículo. https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-on-behalf-of-flow#gaining-consent-for-the-middle-tier-application

SetAppTokenProvider(IAppTokenProvider)

Este punto de extensibilidad solo funciona para el flujo de client_credential, es decir, acquireTokenByClientCredential y está diseñado para SDK de Azure para mejorar la compatibilidad con identidades administradas.

Métodos heredados

acquireTokenByCode(AuthorizationCodeRequest, AuthorizationCodePayload)

Adquiere un token intercambiando el código de autorización recibido del primer paso del flujo de código de autorización de OAuth2.0.

getAuthCodeUrl(AuthorizationCodeUrlRequest) se puede usar para crear la dirección URL para el primer paso del flujo de código de autorización de OAuth2.0. Asegúrese de que los valores de redirectUri y ámbitos de AuthorizationCodeUrlRequest y AuthorizationCodeRequest son los mismos.

acquireTokenByRefreshToken(RefreshTokenRequest)

Adquiere un token intercambiando el token de actualización proporcionado para un nuevo conjunto de tokens.

Esta API solo se proporciona para escenarios en los que desea migrar de ADAL a MSAL. De lo contrario, se recomienda usar acquireTokenSilent() para escenarios silenciosos. Al usar acquireTokenSilent(), MSAL controlará el almacenamiento en caché y la actualización de tokens automáticamente.

acquireTokenByUsernamePassword(UsernamePasswordRequest)

Adquiere tokens con concesión de contraseña intercambiando el nombre de usuario y la contraseña de las aplicaciones cliente para las credenciales.

El procedimiento actual de seguridad de OAuth 2.0 más reciente no permite la concesión de contraseña por completo. Encontrará más información sobre esta recomendación en https://tools.ietf.org/html/draft-ietf-oauth-security-topics-13#section-3.4 la documentación y las recomendaciones de Microsoft:https://docs.microsoft.com/en-us/azure/active-directory/develop/msal-authentication-flows#usernamepassword

acquireTokenSilent(SilentFlowRequest)

Adquiere un token de forma silenciosa cuando un usuario especifica la cuenta para la que se solicita el token.

Esta API espera que el usuario proporcione un objeto de cuenta y busque la memoria caché para recuperar el token si está presente. También hay un booleano opcional "forceRefresh" que el usuario puede enviar para omitir la memoria caché de access_token y id_token. En caso de que el refresh_token haya expirado o no se encuentre, se produce un error y la guía es que el usuario llame a cualquier API de adquisición de tokens interactiva (por ejemplo: acquireTokenByCode()).

clearCache()

Borrar la memoria caché

getAuthCodeUrl(AuthorizationUrlRequest)

Crea la dirección URL de la solicitud de autorización, lo que permite al usuario escribir las credenciales y dar su consentimiento a la aplicación. La dirección URL tiene como destino el punto de conexión /authorize de la autoridad configurada en el objeto de aplicación.

Una vez que el usuario escriba sus credenciales y consentimientos, la autoridad enviará una respuesta al URI de redireccionamiento enviado en la solicitud y debe contener un código de autorización, que luego se puede usar para adquirir tokens a través acquireTokenByCode(AuthorizationCodeRequest)de .

getLogger()

Devuelve la instancia del registrador.

getTokenCache()

Obtiene la caché de tokens de la aplicación.

setLogger(Logger)

Reemplaza el registrador predeterminado establecido en configuraciones por el nuevo registrador por nuevas configuraciones.

Detalles del constructor

ConfidentialClientApplication(Configuration)

Constructor para ConfidentialClientApplication

Los atributos necesarios en el objeto Configuration son:

  • clientID: el identificador de aplicación de la aplicación. Puede obtener uno registrando la aplicación con nuestro portal de registro de aplicaciones.
  • authority: la dirección URL de autoridad de la aplicación.
  • credencial de cliente: debe establecer el secreto de cliente, el certificado o la aserción para los clientes confidenciales. Puede obtener un secreto de cliente desde el portal de registro de aplicaciones.

En Azure AD, authority es una dirección URL que indica el formato https://login.microsoftonline.com/{Enter_the_Tenant_Info_Here}. Si la aplicación admite cuentas en un directorio organizativo, reemplace el valor "Enter_the_Tenant_Info_Here" por el identificador de inquilino o el nombre del inquilino (por ejemplo, contoso.microsoft.com). Si la aplicación admite cuentas en cualquier directorio organizativo, reemplace el valor de "Enter_the_Tenant_Info_Here" por organizaciones. Si la aplicación admite cuentas en cualquier directorio organizativo y cuentas de Microsoft personales, reemplace el valor "Enter_the_Tenant_Info_Here" por común. Para restringir el soporte técnico solo a las cuentas de Personal Microsoft, reemplace el valor de "Enter_the_Tenant_Info_Here" por los consumidores.

En Azure B2C, la autoridad tiene el formato https://{instance}/tfp/{tenant}/{policyName}/ La funcionalidad B2C completa estará disponible en esta biblioteca en versiones futuras.

new ConfidentialClientApplication(configuration: Configuration)

Parámetros

configuration
Configuration

Detalles del método

acquireTokenByClientCredential(ClientCredentialRequest)

Adquiere tokens de la autoridad de la aplicación (no para un usuario final).

function acquireTokenByClientCredential(request: ClientCredentialRequest): Promise<null | AuthenticationResult>

Parámetros

Devoluciones

Promise<null | AuthenticationResult>

acquireTokenOnBehalfOf(OnBehalfOfRequest)

Adquiere tokens de la entidad de la aplicación.

Se usa en escenarios en los que la aplicación actual es un servicio de nivel intermedio al que se llamó con un token que representa a un usuario final. La aplicación actual puede usar el token (oboAssertion) para solicitar otro token para acceder a la API web de bajada, en nombre de ese usuario.

La aplicación de nivel intermedio actual no tiene ninguna interacción del usuario para obtener el consentimiento. Consulte cómo obtener el consentimiento por adelantado para la aplicación de nivel intermedio de este artículo. https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-on-behalf-of-flow#gaining-consent-for-the-middle-tier-application

function acquireTokenOnBehalfOf(request: OnBehalfOfRequest): Promise<null | AuthenticationResult>

Parámetros

Devoluciones

Promise<null | AuthenticationResult>

SetAppTokenProvider(IAppTokenProvider)

Este punto de extensibilidad solo funciona para el flujo de client_credential, es decir, acquireTokenByClientCredential y está diseñado para SDK de Azure para mejorar la compatibilidad con identidades administradas.

function SetAppTokenProvider(provider: IAppTokenProvider)

Parámetros

Detalles de los métodos heredados

acquireTokenByCode(AuthorizationCodeRequest, AuthorizationCodePayload)

Adquiere un token intercambiando el código de autorización recibido del primer paso del flujo de código de autorización de OAuth2.0.

getAuthCodeUrl(AuthorizationCodeUrlRequest) se puede usar para crear la dirección URL para el primer paso del flujo de código de autorización de OAuth2.0. Asegúrese de que los valores de redirectUri y ámbitos de AuthorizationCodeUrlRequest y AuthorizationCodeRequest son los mismos.

function acquireTokenByCode(request: AuthorizationCodeRequest, authCodePayLoad?: AuthorizationCodePayload): Promise<AuthenticationResult>

Parámetros

authCodePayLoad
AuthorizationCodePayload

Devoluciones

Heredado deClientApplication.acquireTokenByCode

acquireTokenByRefreshToken(RefreshTokenRequest)

Adquiere un token intercambiando el token de actualización proporcionado para un nuevo conjunto de tokens.

Esta API solo se proporciona para escenarios en los que desea migrar de ADAL a MSAL. De lo contrario, se recomienda usar acquireTokenSilent() para escenarios silenciosos. Al usar acquireTokenSilent(), MSAL controlará el almacenamiento en caché y la actualización de tokens automáticamente.

function acquireTokenByRefreshToken(request: RefreshTokenRequest): Promise<null | AuthenticationResult>

Parámetros

Devoluciones

Promise<null | AuthenticationResult>

Heredado deClientApplication.acquireTokenByRefreshToken

acquireTokenByUsernamePassword(UsernamePasswordRequest)

Advertencia

Esta API ya está en desuso.

  • Use a more secure flow instead

Adquiere tokens con concesión de contraseña intercambiando el nombre de usuario y la contraseña de las aplicaciones cliente para las credenciales.

El procedimiento actual de seguridad de OAuth 2.0 más reciente no permite la concesión de contraseña por completo. Encontrará más información sobre esta recomendación en https://tools.ietf.org/html/draft-ietf-oauth-security-topics-13#section-3.4 la documentación y las recomendaciones de Microsoft:https://docs.microsoft.com/en-us/azure/active-directory/develop/msal-authentication-flows#usernamepassword

function acquireTokenByUsernamePassword(request: UsernamePasswordRequest): Promise<null | AuthenticationResult>

Parámetros

request
UsernamePasswordRequest

UsenamePasswordRequest

Devoluciones

Promise<null | AuthenticationResult>

Heredado deClientApplication.acquireTokenByUsernamePassword

acquireTokenSilent(SilentFlowRequest)

Adquiere un token de forma silenciosa cuando un usuario especifica la cuenta para la que se solicita el token.

Esta API espera que el usuario proporcione un objeto de cuenta y busque la memoria caché para recuperar el token si está presente. También hay un booleano opcional "forceRefresh" que el usuario puede enviar para omitir la memoria caché de access_token y id_token. En caso de que el refresh_token haya expirado o no se encuentre, se produce un error y la guía es que el usuario llame a cualquier API de adquisición de tokens interactiva (por ejemplo: acquireTokenByCode()).

function acquireTokenSilent(request: SilentFlowRequest): Promise<AuthenticationResult>

Parámetros

Devoluciones

Heredado deClientApplication.acquireTokenSilent

clearCache()

Borrar la memoria caché

function clearCache()

Heredado deClientApplication.clearCache

getAuthCodeUrl(AuthorizationUrlRequest)

Crea la dirección URL de la solicitud de autorización, lo que permite al usuario escribir las credenciales y dar su consentimiento a la aplicación. La dirección URL tiene como destino el punto de conexión /authorize de la autoridad configurada en el objeto de aplicación.

Una vez que el usuario escriba sus credenciales y consentimientos, la autoridad enviará una respuesta al URI de redireccionamiento enviado en la solicitud y debe contener un código de autorización, que luego se puede usar para adquirir tokens a través acquireTokenByCode(AuthorizationCodeRequest)de .

function getAuthCodeUrl(request: AuthorizationUrlRequest): Promise<string>

Parámetros

Devoluciones

Promise<string>

Heredado deClientApplication.getAuthCodeUrl

getLogger()

Devuelve la instancia del registrador.

function getLogger(): Logger

Devoluciones

Heredado deClientApplication.getLogger

getTokenCache()

Obtiene la caché de tokens de la aplicación.

function getTokenCache(): TokenCache

Devoluciones

Heredado deClientApplication.getTokenCache

setLogger(Logger)

Reemplaza el registrador predeterminado establecido en configuraciones por el nuevo registrador por nuevas configuraciones.

function setLogger(logger: Logger)

Parámetros

logger
Logger

Instancia del registrador

Heredado deClientApplication.setLogger