PublicClientApplication class

Esta clase se usará para adquirir tokens para aplicaciones cliente públicas (escritorio, móvil). Las aplicaciones cliente públicas no son de confianza para almacenar de forma segura secretos de aplicación y, por lo tanto, solo pueden solicitar tokens en el nombre de un usuario.

Extends

Constructores

PublicClientApplication(Configuration)

Los atributos importantes del objeto Configuration para la autenticación son:

  • clientID: el identificador de aplicación de la aplicación. Puede obtener una registrando su aplicación con nuestro portal de registro de aplicaciones.
  • authority: la dirección URL de autoridad de la aplicación.

Las autoridades de AAD tienen 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.

Azure las autoridades B2C tienen el formato https://{instance}/{tenant}/{policy}. Cada directiva se considera su propia autoridad. Tendrá que establecer todas las autenticaciones conocidas en el momento de la construcción de la aplicación cliente.

Las autoridades de ADFS tienen el formato https://{instance}/adfs.

Métodos

acquireTokenByDeviceCode(DeviceCodeRequest)

Adquiere un token de la entidad mediante el flujo de código del dispositivo OAuth2.0. Este flujo está diseñado para dispositivos que no tienen acceso a un explorador o tienen restricciones de entrada. El servidor de autorización emite un objeto DeviceCode con un código de verificación, un código de usuario final y el URI de verificación del usuario final. El objeto DeviceCode se proporciona a través de una devolución de llamada y se debe indicar al usuario final que use otro dispositivo para ir al URI de verificación para escribir las credenciales. Dado que el cliente no puede recibir solicitudes entrantes, sondea el servidor de autorización repetidamente hasta que el usuario final completa la entrada de las credenciales.

acquireTokenInteractive(InteractiveRequest)

Adquiere un token de forma interactiva a través del explorador solicitando un código de autorización y, a continuación, lo intercambia por un token.

acquireTokenSilent(SilentFlowRequest)

Devuelve un token recuperado de la memoria caché o intercambiando el token de actualización para un token de acceso nuevo. Si la brokering está habilitada, el agente atenderá la solicitud de token.

getAllAccounts()

Devuelve todas las cuentas almacenadas en caché para esta aplicación. Si la brokering está habilitada, el agente atenderá esta solicitud.

signOut(SignOutRequest)

Quita los artefactos de caché asociados a la cuenta especificada.

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

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

PublicClientApplication(Configuration)

Los atributos importantes del objeto Configuration para la autenticación son:

  • clientID: el identificador de aplicación de la aplicación. Puede obtener una registrando su aplicación con nuestro portal de registro de aplicaciones.
  • authority: la dirección URL de autoridad de la aplicación.

Las autoridades de AAD tienen 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.

Azure las autoridades B2C tienen el formato https://{instance}/{tenant}/{policy}. Cada directiva se considera su propia autoridad. Tendrá que establecer todas las autenticaciones conocidas en el momento de la construcción de la aplicación cliente.

Las autoridades de ADFS tienen el formato https://{instance}/adfs.

new PublicClientApplication(configuration: Configuration)

Parámetros

configuration
Configuration

Detalles del método

acquireTokenByDeviceCode(DeviceCodeRequest)

Adquiere un token de la entidad mediante el flujo de código del dispositivo OAuth2.0. Este flujo está diseñado para dispositivos que no tienen acceso a un explorador o tienen restricciones de entrada. El servidor de autorización emite un objeto DeviceCode con un código de verificación, un código de usuario final y el URI de verificación del usuario final. El objeto DeviceCode se proporciona a través de una devolución de llamada y se debe indicar al usuario final que use otro dispositivo para ir al URI de verificación para escribir las credenciales. Dado que el cliente no puede recibir solicitudes entrantes, sondea el servidor de autorización repetidamente hasta que el usuario final completa la entrada de las credenciales.

function acquireTokenByDeviceCode(request: DeviceCodeRequest): Promise<null | AuthenticationResult>

Parámetros

Devoluciones

Promise<null | AuthenticationResult>

acquireTokenInteractive(InteractiveRequest)

Adquiere un token de forma interactiva a través del explorador solicitando un código de autorización y, a continuación, lo intercambia por un token.

function acquireTokenInteractive(request: InteractiveRequest): Promise<AuthenticationResult>

Parámetros

Devoluciones

acquireTokenSilent(SilentFlowRequest)

Devuelve un token recuperado de la memoria caché o intercambiando el token de actualización para un token de acceso nuevo. Si la brokering está habilitada, el agente atenderá la solicitud de token.

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

Parámetros

request
SilentFlowRequest

developer proporcionado SilentFlowRequest

Devoluciones

getAllAccounts()

Devuelve todas las cuentas almacenadas en caché para esta aplicación. Si la brokering está habilitada, el agente atenderá esta solicitud.

function getAllAccounts(): Promise<AccountInfo[]>

Devoluciones

Promise<AccountInfo[]>

signOut(SignOutRequest)

Quita los artefactos de caché asociados a la cuenta especificada.

function signOut(request: SignOutRequest): Promise<void>

Parámetros

request
SignOutRequest

developer provided SignOutRequest (SignOutRequest proporcionado por el desarrollador)

Devoluciones

Promise<void>

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

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