PublicClientNext class

PublicClientNext é uma olhada antecipada na implementação planejada de PublicClientApplication na próxima versão principal do MSAL.js. Ele contém suporte para várias implementações de API com base no ambiente de runtime em que está em execução.

Os objetivos dessas alterações são fornecer uma separação limpa do comportamento entre diferentes contextos operacionais (Autenticação de Aplicativo Aninhada, Agentes de Plataforma, Navegador Antigo Simples etc.) enquanto ainda fornece uma superfície de API consistente para desenvolvedores.

Use PublicClientApplication para qualquer cenário prod/real. Observação: PublicClientNext é experimental e está sujeito a alterações interruptivas sem o seguinte semver

Métodos

acquireTokenByCode(AuthorizationCodeRequest)

Essa função resgata um código de autorização (passado como código) do ponto de extremidade do token eSTS. Esse código de autorização deve ser adquirido no lado do servidor usando um cliente confidencial para adquirir um spa_code. Essa API não é recuada para aquisição e resgate de código de autorização normais.

O resgate desse código de autorização não exigirá PKCE, pois ele foi adquirido por um cliente confidencial.

acquireTokenPopup(PopupRequest)

Use quando quiser obter um access_token para sua API por meio da abertura de uma janela pop-up no navegador do usuário

acquireTokenRedirect(RedirectRequest)

Use quando quiser obter um access_token para sua API redirecionando a janela do navegador do usuário para o ponto de extremidade de autorização. Essa função redireciona a página, portanto, qualquer código que siga essa função não será executado.

IMPORTANTE: NÃO é recomendável ter um código que dependa da resolução da Promessa. Essa função navegará para longe da janela atual do navegador. Atualmente, ele retorna uma Promessa para refletir a natureza assíncrona do código em execução nesta função.

acquireTokenSilent(SilentRequest)

Adquira silenciosamente um token de acesso para um determinado conjunto de escopos. Retorna a promessa de processamento no momento se solicitações paralelas forem feitas.

addEventCallback(EventCallbackFunction, EventType[])

Adiciona retornos de chamada de evento à matriz

addPerformanceCallback(PerformanceCallbackFunction)

Registra um retorno de chamada para receber eventos de desempenho.

clearCache(ClearCacheRequest)

Limpa tokens e conta do cache do navegador.

createPublicClientApplication(Configuration)
disableAccountStorageEvents()

Remove o ouvinte de eventos que emite um evento quando uma conta de usuário é adicionada ou removida da localidade em uma guia ou janela do navegador diferente

enableAccountStorageEvents()

Adiciona o ouvinte de eventos que emite um evento quando uma conta de usuário é adicionada ou removida do localstorage em uma guia ou janela diferente do navegador

getAccount(AccountFilter)

Retorna a primeira conta encontrada no cache que corresponde ao filtro de conta passado.

getAccountByHomeId(string)

Retorna a conta de entrada correspondente a homeAccountId. (o objeto de conta é criado no momento do logon bem-sucedido) ou nulo quando nenhuma conta correspondente é encontrada

getAccountByLocalId(string)

Retorna a conta de entrada correspondente a localAccountId. (o objeto de conta é criado no momento do logon bem-sucedido) ou nulo quando nenhuma conta correspondente é encontrada

getAccountByUsername(string)

Retorna o nome de usuário correspondente à conta de entrada. (o objeto de conta é criado no momento do logon bem-sucedido) ou nulo quando nenhuma conta correspondente é encontrada. Essa API é fornecida para conveniência, mas getAccountById deve ser usado para melhor confiabilidade

getActiveAccount()

Obtém a conta ativa no momento

getAllAccounts(AccountFilter)

Retorna todas as contas no cache que correspondem ao filtro opcional. Se nenhum filtro for fornecido, todas as contas serão retornadas.

getLogger()

Retorna a instância do agente

getTokenCache()

Obtém o cache de token para o aplicativo.

handleRedirectPromise(string)

Função de manipulador de eventos que permite que os usuários disparem eventos após o objeto PublicClientApplication ter sido carregado durante os fluxos de redirecionamento. Isso deve ser invocado em todas as cargas de página envolvidas em fluxos de autenticação de redirecionamento.

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

Hidrata o cache com os tokens e a conta no objeto AuthenticationResult

initialize()

Função inicializador para executar tarefas de inicialização assíncronas, como conectar-se à extensão WAM

initializeWrapperLibrary(WrapperSKU, string)

Chamado por bibliotecas wrapper (Angular &React) para definir SKU e Versão passadas para telemetria, agente etc.

loginPopup(PopupRequest)

Usar ao iniciar o processo de logon por meio da abertura de uma janela pop-up no navegador do usuário

loginRedirect(RedirectRequest)

Use ao iniciar o processo de logon redirecionando o navegador do usuário para o ponto de extremidade de autorização. Essa função redireciona a página, portanto, qualquer código que siga essa função não será executado.

IMPORTANTE: NÃO é recomendável ter um código que dependa da resolução da Promessa. Essa função navegará para longe da janela atual do navegador. Atualmente, ele retorna uma Promessa para refletir a natureza assíncrona do código em execução nesta função.

logout(EndSessionRequest)

Função de logoff preterida. Em vez disso, use logoutRedirect ou logoutPopup

logoutPopup(EndSessionRequest)

Limpa o cache local para o usuário atual e, em seguida, abre uma janela pop-up solicitando que o usuário saia do servidor

logoutRedirect(EndSessionRequest)

Use para fazer logoff do usuário atual e redirecionar o usuário para o postLogoutRedirectUri. O comportamento padrão é redirecionar o usuário para window.location.href.

removeEventCallback(string)

Remove o retorno de chamada com a ID fornecida da matriz de retorno de chamada

removePerformanceCallback(string)

Remove um retorno de chamada registrado com addPerformanceCallback.

setActiveAccount(null | AccountInfo)

Define a conta a ser usada como a conta ativa. Se nenhuma conta for passada para as APIs acquireToken, a MSAL usará essa conta ativa.

setLogger(Logger)

Substitui o conjunto de agentes padrão nas configurações pelo novo Agente por novas configurações

setNavigationClient(INavigationClient)

Define o cliente de navegação

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

Essa função usa um iframe oculto para buscar um código de autorização do eSTS. Há casos em que isso pode não funcionar:

  • Qualquer navegador usando uma forma de Prevenção de Acompanhamento Inteligente
  • Se não houver uma sessão estabelecida com o serviço

Nesses casos, a solicitação deve ser feita dentro de um pop-up ou redirecionamento de quadro completo.

Para os casos em que a interação é necessária, você não pode enviar uma solicitação com prompt=none.

Se o token de atualização tiver expirado, você poderá usar essa função para buscar um novo conjunto de tokens silenciosamente, desde que a sessão no servidor ainda exista.

Detalhes do método

acquireTokenByCode(AuthorizationCodeRequest)

Essa função resgata um código de autorização (passado como código) do ponto de extremidade do token eSTS. Esse código de autorização deve ser adquirido no lado do servidor usando um cliente confidencial para adquirir um spa_code. Essa API não é recuada para aquisição e resgate de código de autorização normais.

O resgate desse código de autorização não exigirá PKCE, pois ele foi adquirido por um cliente confidencial.

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

Parâmetros

Retornos

Uma promessa que é cumprida quando essa função é concluída ou rejeitada se um erro foi gerado.

acquireTokenPopup(PopupRequest)

Use quando quiser obter um access_token para sua API por meio da abertura de uma janela pop-up no navegador do usuário

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

Parâmetros

request
PopupRequest

Retornos

Uma promessa que é cumprida quando essa função é concluída ou rejeitada se um erro foi gerado.

acquireTokenRedirect(RedirectRequest)

Use quando quiser obter um access_token para sua API redirecionando a janela do navegador do usuário para o ponto de extremidade de autorização. Essa função redireciona a página, portanto, qualquer código que siga essa função não será executado.

IMPORTANTE: NÃO é recomendável ter um código que dependa da resolução da Promessa. Essa função navegará para longe da janela atual do navegador. Atualmente, ele retorna uma Promessa para refletir a natureza assíncrona do código em execução nesta função.

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

Parâmetros

request
RedirectRequest

Retornos

Promise<void>

acquireTokenSilent(SilentRequest)

Adquira silenciosamente um token de acesso para um determinado conjunto de escopos. Retorna a promessa de processamento no momento se solicitações paralelas forem feitas.

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

Parâmetros

silentRequest
SilentRequest

Retornos

  • uma promessa que é cumprida quando essa função é concluída ou rejeitada se um erro foi gerado. Retorna o objeto AuthenticationResult

addEventCallback(EventCallbackFunction, EventType[])

Adiciona retornos de chamada de evento à matriz

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

Parâmetros

eventTypes

EventType[]

Retornos

null | string

addPerformanceCallback(PerformanceCallbackFunction)

Registra um retorno de chamada para receber eventos de desempenho.

function addPerformanceCallback(callback: PerformanceCallbackFunction): string

Parâmetros

Retornos

string

clearCache(ClearCacheRequest)

Limpa tokens e conta do cache do navegador.

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

Parâmetros

logoutRequest
ClearCacheRequest

Retornos

Promise<void>

createPublicClientApplication(Configuration)

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

Parâmetros

configuration
Configuration

Retornos

disableAccountStorageEvents()

Remove o ouvinte de eventos que emite um evento quando uma conta de usuário é adicionada ou removida da localidade em uma guia ou janela do navegador diferente

function disableAccountStorageEvents()

enableAccountStorageEvents()

Adiciona o ouvinte de eventos que emite um evento quando uma conta de usuário é adicionada ou removida do localstorage em uma guia ou janela diferente do navegador

function enableAccountStorageEvents()

getAccount(AccountFilter)

Retorna a primeira conta encontrada no cache que corresponde ao filtro de conta passado.

function getAccount(accountFilter: AccountFilter): null | AccountInfo

Parâmetros

accountFilter
AccountFilter

Retornos

null | AccountInfo

A primeira conta encontrada no cache que corresponde ao filtro fornecido ou nulo se nenhuma conta puder ser encontrada.

getAccountByHomeId(string)

Aviso

Essa API foi preterida.

  • Use getAccount instead

Retorna a conta de entrada correspondente a homeAccountId. (o objeto de conta é criado no momento do logon bem-sucedido) ou nulo quando nenhuma conta correspondente é encontrada

function getAccountByHomeId(homeAccountId: string): null | AccountInfo

Parâmetros

homeAccountId

string

Retornos

null | AccountInfo

O objeto de conta armazenado na MSAL

getAccountByLocalId(string)

Aviso

Essa API foi preterida.

  • Use getAccount instead

Retorna a conta de entrada correspondente a localAccountId. (o objeto de conta é criado no momento do logon bem-sucedido) ou nulo quando nenhuma conta correspondente é encontrada

function getAccountByLocalId(localId: string): null | AccountInfo

Parâmetros

localId

string

Retornos

null | AccountInfo

O objeto de conta armazenado na MSAL

getAccountByUsername(string)

Aviso

Essa API foi preterida.

  • Use getAccount instead

Retorna o nome de usuário correspondente à conta de entrada. (o objeto de conta é criado no momento do logon bem-sucedido) ou nulo quando nenhuma conta correspondente é encontrada. Essa API é fornecida para conveniência, mas getAccountById deve ser usado para melhor confiabilidade

function getAccountByUsername(userName: string): null | AccountInfo

Parâmetros

userName

string

Retornos

null | AccountInfo

O objeto de conta armazenado na MSAL

getActiveAccount()

Obtém a conta ativa no momento

function getActiveAccount(): null | AccountInfo

Retornos

null | AccountInfo

getAllAccounts(AccountFilter)

Retorna todas as contas no cache que correspondem ao filtro opcional. Se nenhum filtro for fornecido, todas as contas serão retornadas.

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

Parâmetros

accountFilter
AccountFilter

Filtro (opcional) para restringir as contas retornadas

Retornos

Matriz de objetos AccountInfo no cache

getLogger()

Retorna a instância do agente

function getLogger(): Logger

Retornos

getTokenCache()

Obtém o cache de token para o aplicativo.

function getTokenCache(): ITokenCache

Retornos

handleRedirectPromise(string)

Função de manipulador de eventos que permite que os usuários disparem eventos após o objeto PublicClientApplication ter sido carregado durante os fluxos de redirecionamento. Isso deve ser invocado em todas as cargas de página envolvidas em fluxos de autenticação de redirecionamento.

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

Parâmetros

hash

string

Hash a ser processado. O padrão é o valor atual de window.location.hash. Só precisará ser fornecido explicitamente se a resposta a ser tratada não estiver contida no valor atual.

Retornos

Promise<null | AuthenticationResult>

Resposta de token ou nulo. Se o valor retornado for nulo, nenhum redirecionamento de autenticação foi detectado.

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

Hidrata o cache com os tokens e a conta no 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">>

O objeto de solicitação que foi usado para obter o AuthenticationResult

Retornos

Promise<void>

initialize()

Função inicializador para executar tarefas de inicialização assíncronas, como conectar-se à extensão WAM

function initialize(): Promise<void>

Retornos

Promise<void>

initializeWrapperLibrary(WrapperSKU, string)

Chamado por bibliotecas wrapper (Angular &React) para definir SKU e Versão passadas para telemetria, agente etc.

function initializeWrapperLibrary(sku: WrapperSKU, version: string)

Parâmetros

version

string

loginPopup(PopupRequest)

Usar ao iniciar o processo de logon por meio da abertura de uma janela pop-up no navegador do usuário

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

Parâmetros

request
PopupRequest

Retornos

Uma promessa que é cumprida quando essa função é concluída ou rejeitada se um erro foi gerado.

loginRedirect(RedirectRequest)

Use ao iniciar o processo de logon redirecionando o navegador do usuário para o ponto de extremidade de autorização. Essa função redireciona a página, portanto, qualquer código que siga essa função não será executado.

IMPORTANTE: NÃO é recomendável ter um código que dependa da resolução da Promessa. Essa função navegará para longe da janela atual do navegador. Atualmente, ele retorna uma Promessa para refletir a natureza assíncrona do código em execução nesta função.

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

Parâmetros

request
RedirectRequest

Retornos

Promise<void>

logout(EndSessionRequest)

Aviso

Essa API foi preterida.

Função de logoff preterida. Em vez disso, use logoutRedirect ou logoutPopup

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

Parâmetros

logoutRequest
EndSessionRequest

Retornos

Promise<void>

logoutPopup(EndSessionRequest)

Limpa o cache local para o usuário atual e, em seguida, abre uma janela pop-up solicitando que o usuário saia do servidor

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

Parâmetros

logoutRequest
EndSessionRequest

Retornos

Promise<void>

logoutRedirect(EndSessionRequest)

Use para fazer logoff do usuário atual e redirecionar o usuário para o postLogoutRedirectUri. O comportamento padrão é redirecionar o usuário para window.location.href.

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

Parâmetros

logoutRequest
EndSessionRequest

Retornos

Promise<void>

removeEventCallback(string)

Remove o retorno de chamada com a ID fornecida da matriz de retorno de chamada

function removeEventCallback(callbackId: string)

Parâmetros

callbackId

string

removePerformanceCallback(string)

Remove um retorno de chamada registrado com addPerformanceCallback.

function removePerformanceCallback(callbackId: string): boolean

Parâmetros

callbackId

string

Retornos

boolean

setActiveAccount(null | AccountInfo)

Define a conta a ser usada como a conta ativa. Se nenhuma conta for passada para as APIs acquireToken, a MSAL usará essa conta ativa.

function setActiveAccount(account: null | AccountInfo)

Parâmetros

account

null | AccountInfo

setLogger(Logger)

Substitui o conjunto de agentes padrão nas configurações pelo novo Agente por novas configurações

function setLogger(logger: Logger)

Parâmetros

logger
Logger

Instância do agente

setNavigationClient(INavigationClient)

Define o cliente de navegação

function setNavigationClient(navigationClient: INavigationClient)

Parâmetros

navigationClient
INavigationClient

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

Essa função usa um iframe oculto para buscar um código de autorização do eSTS. Há casos em que isso pode não funcionar:

  • Qualquer navegador usando uma forma de Prevenção de Acompanhamento Inteligente
  • Se não houver uma sessão estabelecida com o serviço

Nesses casos, a solicitação deve ser feita dentro de um pop-up ou redirecionamento de quadro completo.

Para os casos em que a interação é necessária, você não pode enviar uma solicitação com prompt=none.

Se o token de atualização tiver expirado, você poderá usar essa função para buscar um novo conjunto de tokens silenciosamente, desde que a sessão no servidor ainda exista.

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

Retornos

Uma promessa que é cumprida quando essa função é concluída ou rejeitada se um erro foi gerado.