PublicClientApplication class

La clase PublicClientApplication es el objeto expuesto por la biblioteca para realizar funciones de autenticación y autorización en aplicaciones de página única para obtener tokens JWT, tal y como se describe en el flujo de código de autorización de OAuth 2.0 con la especificación PKCE.

Métodos

acquireTokenByCode(AuthorizationCodeRequest)

Esta función canjea un código de autorización (pasado como código) desde el punto de conexión del token de eSTS. Este código de autorización debe adquirirse en el lado servidor mediante un cliente confidencial para adquirir un spa_code. Esta API no está codificada para la adquisición y el canje normales del código de autorización.

El canje de este código de autorización no requerirá PKCE, ya que lo adquirió un cliente confidencial.

acquireTokenPopup(PopupRequest)

Use cuando desee obtener una access_token para la API mediante la apertura de una ventana emergente en el explorador del usuario.

acquireTokenRedirect(RedirectRequest)

Use cuando desee obtener una access_token para la API redirigiendo la ventana del explorador del usuario al punto de conexión de autorización. Esta función redirige la página, por lo que cualquier código que siga a esta función no se ejecutará.

IMPORTANTE: NO se recomienda tener código que dependa de la resolución de la promesa. Esta función se alejará de la ventana actual del explorador. Actualmente devuelve una promesa para reflejar la naturaleza asincrónica del código que se ejecuta en esta función.

acquireTokenSilent(SilentRequest)

Adquirir de forma silenciosa un token de acceso para un conjunto determinado de ámbitos. Devuelve la promesa de procesamiento actual si se realizan solicitudes paralelas.

addEventCallback(EventCallbackFunction, EventType[])

Agrega devoluciones de llamada de eventos a la matriz

addPerformanceCallback(PerformanceCallbackFunction)

Registra una devolución de llamada para recibir eventos de rendimiento.

clearCache(ClearCacheRequest)

Borra los tokens y la cuenta de la caché del explorador.

createPublicClientApplication(Configuration)

Crea StandardController y lo pasa a PublicClientApplication.

disableAccountStorageEvents()

Quita el agente de escucha de eventos que emite un evento cuando se agrega o quita una cuenta de usuario de localstorage en otra pestaña o ventana del explorador.

enableAccountStorageEvents()

Agrega un agente de escucha de eventos que emite un evento cuando se agrega o quita una cuenta de usuario de localstorage en otra pestaña o ventana del explorador.

getAccount(AccountFilter)

Devuelve la primera cuenta que se encuentra en la memoria caché que coincide con el filtro de cuenta pasado.

getAccountByHomeId(string)

Devuelve la cuenta con sesión iniciada que coincide con homeAccountId. (el objeto account se crea en el momento del inicio de sesión correcto) o null cuando no se encuentra ninguna cuenta coincidente.

getAccountByLocalId(string)

Devuelve la cuenta con sesión iniciada que coincide con localAccountId. (el objeto account se crea en el momento del inicio de sesión correcto) o null cuando no se encuentra ninguna cuenta coincidente.

getAccountByUsername(string)

Devuelve el nombre de usuario que coincide con la cuenta con sesión iniciada. (el objeto de cuenta se crea en el momento del inicio de sesión correcto) o null cuando no se encuentra ninguna cuenta coincidente. Esta API se proporciona para mayor comodidad, pero getAccountById debe usarse para mejorar la confiabilidad.

getActiveAccount()

Obtiene la cuenta activa actualmente.

getAllAccounts(AccountFilter)

Devuelve todas las cuentas de la memoria caché que coinciden con el filtro opcional. Si no se proporciona ningún filtro, se devuelven todas las cuentas.

getLogger()

Devuelve la instancia del registrador.

getTokenCache()

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

handleRedirectPromise(string)

Función del controlador de eventos que permite a los usuarios desencadenar eventos después de que el objeto PublicClientApplication se haya cargado durante los flujos de redirección. Se debe invocar en todas las cargas de página implicadas en los flujos de autenticación de redirección.

hydrateCache(AuthenticationResult, PopupRequest | RedirectRequest | SilentRequest | Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>)

Hidrata la memoria caché con los tokens y la cuenta en el objeto AuthenticationResult

initialize(InitializeApplicationRequest)

Función de inicializador para realizar tareas de inicio asincrónicas, como la conexión a la extensión WAM

initializeWrapperLibrary(WrapperSKU, string)

Llamado por bibliotecas contenedoras (Angular & React) para establecer la SKU y la versión que se pasan a telemetría, registrador, etc.

loginPopup(PopupRequest)

Use al iniciar el proceso de inicio de sesión mediante la apertura de una ventana emergente en el explorador del usuario.

loginRedirect(RedirectRequest)

Use al iniciar el proceso de inicio de sesión redirigiendo el explorador del usuario al punto de conexión de autorización. Esta función redirige la página, por lo que cualquier código que siga a esta función no se ejecutará.

IMPORTANTE: NO se recomienda tener código que dependa de la resolución de la promesa. Esta función se alejará de la ventana actual del explorador. Actualmente devuelve una promesa para reflejar la naturaleza asincrónica del código que se ejecuta en esta función.

logout(EndSessionRequest)

Función de cierre de sesión en desuso. Use logoutRedirect o logoutPopup en su lugar.

logoutPopup(EndSessionPopupRequest)

Borra la caché local del usuario actual y, a continuación, abre una ventana emergente que solicita al usuario que cierre la sesión del servidor.

logoutRedirect(EndSessionRequest)

Use para cerrar la sesión del usuario actual y redirigir al usuario a postLogoutRedirectUri. El comportamiento predeterminado es redirigir al usuario a window.location.href.

removeEventCallback(string)

Quita la devolución de llamada con el identificador proporcionado de la matriz de devolución de llamada.

removePerformanceCallback(string)

Quita una devolución de llamada registrada con addPerformanceCallback.

setActiveAccount(null | AccountInfo)

Establece la cuenta que se va a usar como cuenta activa. Si no se pasa ninguna cuenta a las API acquireToken, MSAL usará esta cuenta activa.

setLogger(Logger)

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

setNavigationClient(INavigationClient)

Establece el cliente de navegación

ssoSilent(Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>)

Esta función usa un iframe oculto para capturar un código de autorización de eSTS. Hay casos en los que esto puede no funcionar:

  • Cualquier explorador que use una forma de prevención de seguimiento inteligente
  • Si no hay una sesión establecida con el servicio

En estos casos, la solicitud debe realizarse dentro de una ventana emergente o redirección de fotograma completo.

En los casos en los que se requiere interacción, no se puede enviar una solicitud con prompt=none.

Si el token de actualización ha expirado, puede usar esta función para capturar un nuevo conjunto de tokens de forma silenciosa, siempre y cuando la sesión en el servidor siga existiendo.

Detalles del constructor

PublicClientApplication(Configuration, IController)

new PublicClientApplication(configuration: Configuration, controller?: IController)

Parámetros

configuration
Configuration

Objeto para la instancia publicClientApplication de MSAL

controller
IController

Detalles del método

acquireTokenByCode(AuthorizationCodeRequest)

Esta función canjea un código de autorización (pasado como código) desde el punto de conexión del token de eSTS. Este código de autorización debe adquirirse en el lado servidor mediante un cliente confidencial para adquirir un spa_code. Esta API no está codificada para la adquisición y el canje normales del código de autorización.

El canje de este código de autorización no requerirá PKCE, ya que lo adquirió un cliente confidencial.

function acquireTokenByCode(request: AuthorizationCodeRequest): Promise<AuthenticationResult>

Parámetros

Devoluciones

Promesa que se cumple cuando se ha completado esta función o se rechaza si se ha generado un error.

acquireTokenPopup(PopupRequest)

Use cuando desee obtener una access_token para la API mediante la apertura de una ventana emergente en el explorador del usuario.

function acquireTokenPopup(request: PopupRequest): Promise<AuthenticationResult>

Parámetros

request
PopupRequest

Devoluciones

Promesa que se cumple cuando se ha completado esta función o se rechaza si se ha generado un error.

acquireTokenRedirect(RedirectRequest)

Use cuando desee obtener una access_token para la API redirigiendo la ventana del explorador del usuario al punto de conexión de autorización. Esta función redirige la página, por lo que cualquier código que siga a esta función no se ejecutará.

IMPORTANTE: NO se recomienda tener código que dependa de la resolución de la promesa. Esta función se alejará de la ventana actual del explorador. Actualmente devuelve una promesa para reflejar la naturaleza asincrónica del código que se ejecuta en esta función.

function acquireTokenRedirect(request: RedirectRequest): Promise<void>

Parámetros

request
RedirectRequest

Devoluciones

Promise<void>

acquireTokenSilent(SilentRequest)

Adquirir de forma silenciosa un token de acceso para un conjunto determinado de ámbitos. Devuelve la promesa de procesamiento actual si se realizan solicitudes paralelas.

function acquireTokenSilent(silentRequest: SilentRequest): Promise<AuthenticationResult>

Parámetros

silentRequest
SilentRequest

Devoluciones

  • una promesa que se cumple cuando se ha completado esta función o se rechaza si se ha generado un error. Devuelve el objeto AuthenticationResult .

addEventCallback(EventCallbackFunction, EventType[])

Agrega devoluciones de llamada de eventos a la matriz

function addEventCallback(callback: EventCallbackFunction, eventTypes?: EventType[]): null | string

Parámetros

eventTypes

EventType[]

Devoluciones

null | string

addPerformanceCallback(PerformanceCallbackFunction)

Registra una devolución de llamada para recibir eventos de rendimiento.

function addPerformanceCallback(callback: PerformanceCallbackFunction): string

Parámetros

Devoluciones

string

clearCache(ClearCacheRequest)

Borra los tokens y la cuenta de la caché del explorador.

function clearCache(logoutRequest?: ClearCacheRequest): Promise<void>

Parámetros

logoutRequest
ClearCacheRequest

Devoluciones

Promise<void>

createPublicClientApplication(Configuration)

Crea StandardController y lo pasa a PublicClientApplication.

static function createPublicClientApplication(configuration: Configuration): Promise<IPublicClientApplication>

Parámetros

configuration
Configuration

{Configuration}

Devoluciones

disableAccountStorageEvents()

Quita el agente de escucha de eventos que emite un evento cuando se agrega o quita una cuenta de usuario de localstorage en otra pestaña o ventana del explorador.

function disableAccountStorageEvents()

enableAccountStorageEvents()

Agrega un agente de escucha de eventos que emite un evento cuando se agrega o quita una cuenta de usuario de localstorage en otra pestaña o ventana del explorador.

function enableAccountStorageEvents()

getAccount(AccountFilter)

Devuelve la primera cuenta que se encuentra en la memoria caché que coincide con el filtro de cuenta pasado.

function getAccount(accountFilter: AccountFilter): null | AccountInfo

Parámetros

accountFilter
AccountFilter

Devoluciones

null | AccountInfo

La primera cuenta que se encuentra en la memoria caché que coincide con el filtro proporcionado o null si no se encuentra ninguna cuenta.

getAccountByHomeId(string)

Advertencia

Esta API ya está en desuso.

  • Use getAccount instead

Devuelve la cuenta con sesión iniciada que coincide con homeAccountId. (el objeto account se crea en el momento del inicio de sesión correcto) o null cuando no se encuentra ninguna cuenta coincidente.

function getAccountByHomeId(homeAccountId: string): null | AccountInfo

Parámetros

homeAccountId

string

Devoluciones

null | AccountInfo

Objeto de cuenta almacenado en MSAL

getAccountByLocalId(string)

Advertencia

Esta API ya está en desuso.

  • Use getAccount instead

Devuelve la cuenta con sesión iniciada que coincide con localAccountId. (el objeto account se crea en el momento del inicio de sesión correcto) o null cuando no se encuentra ninguna cuenta coincidente.

function getAccountByLocalId(localId: string): null | AccountInfo

Parámetros

localId

string

Devoluciones

null | AccountInfo

Objeto de cuenta almacenado en MSAL

getAccountByUsername(string)

Advertencia

Esta API ya está en desuso.

  • Use getAccount instead

Devuelve el nombre de usuario que coincide con la cuenta con sesión iniciada. (el objeto de cuenta se crea en el momento del inicio de sesión correcto) o null cuando no se encuentra ninguna cuenta coincidente. Esta API se proporciona para mayor comodidad, pero getAccountById debe usarse para mejorar la confiabilidad.

function getAccountByUsername(userName: string): null | AccountInfo

Parámetros

userName

string

Devoluciones

null | AccountInfo

Objeto de cuenta almacenado en MSAL

getActiveAccount()

Obtiene la cuenta activa actualmente.

function getActiveAccount(): null | AccountInfo

Devoluciones

null | AccountInfo

getAllAccounts(AccountFilter)

Devuelve todas las cuentas de la memoria caché que coinciden con el filtro opcional. Si no se proporciona ningún filtro, se devuelven todas las cuentas.

function getAllAccounts(accountFilter?: AccountFilter): AccountInfo[]

Parámetros

accountFilter
AccountFilter

(Opcional) filtro para restringir las cuentas devueltas

Devoluciones

Matriz de objetos AccountInfo en la memoria caché

getLogger()

Devuelve la instancia del registrador.

function getLogger(): Logger

Devoluciones

getTokenCache()

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

function getTokenCache(): ITokenCache

Devoluciones

handleRedirectPromise(string)

Función del controlador de eventos que permite a los usuarios desencadenar eventos después de que el objeto PublicClientApplication se haya cargado durante los flujos de redirección. Se debe invocar en todas las cargas de página implicadas en los flujos de autenticación de redirección.

function handleRedirectPromise(hash?: string): Promise<null | AuthenticationResult>

Parámetros

hash

string

Hash que se va a procesar. El valor predeterminado es window.location.hash. Solo debe proporcionarse explícitamente si la respuesta que se va a controlar no está contenida en el valor actual.

Devoluciones

Promise<null | AuthenticationResult>

Respuesta de token o null. Si el valor devuelto es NULL, no se detectó ninguna redirección de autenticación.

hydrateCache(AuthenticationResult, PopupRequest | RedirectRequest | SilentRequest | Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>)

Hidrata la memoria caché con los tokens y la cuenta en el objeto AuthenticationResult

function hydrateCache(result: AuthenticationResult, request: PopupRequest | RedirectRequest | SilentRequest | Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>): Promise<void>

Parámetros

request

PopupRequest | RedirectRequest | SilentRequest | Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>

Objeto de solicitud que se usó para obtener AuthenticationResult

Devoluciones

Promise<void>

initialize(InitializeApplicationRequest)

Función de inicializador para realizar tareas de inicio asincrónicas, como la conexión a la extensión WAM

function initialize(request?: InitializeApplicationRequest): Promise<void>

Parámetros

request
InitializeApplicationRequest

{? InitializeApplicationRequest}

Devoluciones

Promise<void>

initializeWrapperLibrary(WrapperSKU, string)

Llamado por bibliotecas contenedoras (Angular & React) para establecer la SKU y la versión que se pasan a telemetría, registrador, etc.

function initializeWrapperLibrary(sku: WrapperSKU, version: string)

Parámetros

version

string

loginPopup(PopupRequest)

Use al iniciar el proceso de inicio de sesión mediante la apertura de una ventana emergente en el explorador del usuario.

function loginPopup(request?: PopupRequest): Promise<AuthenticationResult>

Parámetros

request
PopupRequest

Devoluciones

Promesa que se cumple cuando se ha completado esta función o se rechaza si se ha generado un error.

loginRedirect(RedirectRequest)

Use al iniciar el proceso de inicio de sesión redirigiendo el explorador del usuario al punto de conexión de autorización. Esta función redirige la página, por lo que cualquier código que siga a esta función no se ejecutará.

IMPORTANTE: NO se recomienda tener código que dependa de la resolución de la promesa. Esta función se alejará de la ventana actual del explorador. Actualmente devuelve una promesa para reflejar la naturaleza asincrónica del código que se ejecuta en esta función.

function loginRedirect(request?: RedirectRequest): Promise<void>

Parámetros

request
RedirectRequest

Devoluciones

Promise<void>

logout(EndSessionRequest)

Advertencia

Esta API ya está en desuso.

Función de cierre de sesión en desuso. Use logoutRedirect o logoutPopup en su lugar.

function logout(logoutRequest?: EndSessionRequest): Promise<void>

Parámetros

logoutRequest
EndSessionRequest

Devoluciones

Promise<void>

logoutPopup(EndSessionPopupRequest)

Borra la caché local del usuario actual y, a continuación, abre una ventana emergente que solicita al usuario que cierre la sesión del servidor.

function logoutPopup(logoutRequest?: EndSessionPopupRequest): Promise<void>

Parámetros

logoutRequest
EndSessionPopupRequest

Devoluciones

Promise<void>

logoutRedirect(EndSessionRequest)

Use para cerrar la sesión del usuario actual y redirigir al usuario a postLogoutRedirectUri. El comportamiento predeterminado es redirigir al usuario a window.location.href.

function logoutRedirect(logoutRequest?: EndSessionRequest): Promise<void>

Parámetros

logoutRequest
EndSessionRequest

Devoluciones

Promise<void>

removeEventCallback(string)

Quita la devolución de llamada con el identificador proporcionado de la matriz de devolución de llamada.

function removeEventCallback(callbackId: string)

Parámetros

callbackId

string

removePerformanceCallback(string)

Quita una devolución de llamada registrada con addPerformanceCallback.

function removePerformanceCallback(callbackId: string): boolean

Parámetros

callbackId

string

Devoluciones

boolean

setActiveAccount(null | AccountInfo)

Establece la cuenta que se va a usar como cuenta activa. Si no se pasa ninguna cuenta a las API acquireToken, MSAL usará esta cuenta activa.

function setActiveAccount(account: null | AccountInfo)

Parámetros

account

null | AccountInfo

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

setNavigationClient(INavigationClient)

Establece el cliente de navegación

function setNavigationClient(navigationClient: INavigationClient)

Parámetros

navigationClient
INavigationClient

ssoSilent(Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>)

Esta función usa un iframe oculto para capturar un código de autorización de eSTS. Hay casos en los que esto puede no funcionar:

  • Cualquier explorador que use una forma de prevención de seguimiento inteligente
  • Si no hay una sesión establecida con el servicio

En estos casos, la solicitud debe realizarse dentro de una ventana emergente o redirección de fotograma completo.

En los casos en los que se requiere interacción, no se puede enviar una solicitud con prompt=none.

Si el token de actualización ha expirado, puede usar esta función para capturar un nuevo conjunto de tokens de forma silenciosa, siempre y cuando la sesión en el servidor siga existiendo.

function ssoSilent(request: Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>): Promise<AuthenticationResult>

Parámetros

request

Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>

SsoSilentRequest

Devoluciones

Promesa que se cumple cuando se ha completado esta función o se rechaza si se ha generado un error.