PublicClientApplication class
A classe PublicClientApplication é o objeto exposto pela biblioteca para realizar funções de autenticação e autorização em Aplicações de Página Única, para obter tokens JWT conforme descrito no OAuth 2.0 Authorization Code Flow com especificação PKCE.
Construtores
| Public |
Métodos
| acquire |
Esta função resgata um código de autorização (passado como código) do endpoint do token eSTS. Este código de autorização deve ser adquirido do lado do servidor usando um cliente confidencial para adquirir um spa_code. Esta API não está indefinida para aquisição e resgate normais de código de autorização. A resgate deste código de autorização não requerrá PKCE, pois foi adquirido por um cliente confidencial. |
| acquire |
Use quando quiser obter uma access_token para a sua API abrindo uma janela pop-up no navegador do utilizador |
| acquire |
Use quando quiser obter um access_token para a sua API, redirecionando a janela do navegador do utilizador para o endpoint de autorização. Esta função redireciona a página, por isso qualquer código que siga esta função não será executado. IMPORTANTE: NÃO é recomendado ter código dependente da resolução da Promessa. Esta função irá navegar para fora da janela atual do navegador. Atualmente, devolve uma Promessa para refletir a natureza assíncrona do código a correr nesta função. |
| acquire |
Adquira silenciosamente um token de acesso para um dado conjunto de miras. As devoluções atualmente a processar prometem se forem feitas solicitações paralelas. |
| add |
Adiciona callbacks de eventos ao array |
| add |
Regista uma chamada de retorno para receber eventos de atuação. |
| clear |
Limpa tokens e conta da cache do navegador. |
| create |
Cria o StandardController e passa-o para a PublicClientApplication |
| disable |
Remove o ouvinte de eventos que emite um evento quando uma conta de utilizador é adicionada ou removida do armazenamento local numa aba ou janela diferente do navegador |
| enable |
Adiciona um ouvinte de eventos que emite um evento quando uma conta de utilizador é adicionada ou removida do armazenamento local numa aba ou janela diferente do navegador |
| get |
Devolve a primeira conta encontrada na cache que corresponde ao filtro de conta passado. |
| get |
Devolve a conta iniciada correspondente ao homeAccountId. (o objeto da conta é criado no momento do início de sessão bem-sucedido) ou nulo quando não é encontrada nenhuma conta correspondente |
| get |
Devolve a conta iniciada correspondente ao localAccountId. (o objeto da conta é criado no momento do início de sessão bem-sucedido) ou nulo quando não é encontrada nenhuma conta correspondente |
| get |
Devolve a conta iniciada correspondente ao nome de utilizador. (o objeto de conta é criado no momento do início de sessão bem-sucedido) ou nulo quando não é encontrada nenhuma conta correspondente. Esta API é fornecida por conveniência, mas o getAccountById deve ser usado para maior fiabilidade |
| get |
Obtém a conta atualmente ativa |
| get |
Devolve todas as contas na cache que correspondem ao filtro opcional. Se não for fornecido filtro, todas as contas são devolvidas. |
| get |
Devolve a instância do logger |
| get |
Obtém o token cache da aplicação. |
| handle |
Função de gestor de eventos que permite aos utilizadores lançar eventos depois de o objeto PublicClientApplication ter sido carregado durante os fluxos de redirecionamento. Isto deve ser invocado em todas as cargas de página envolvidas nos fluxos de autenticação de redirecionamento. |
| hydrate |
Hydrates armazena cache com os tokens e a conta no objeto AuthenticationResult |
| initialize(Initialize |
Função inicializadora para realizar tarefas de arranque assíncronas, como a ligação à extensão WAM |
| initialize |
Chamado por bibliotecas de wrapper (Angular & React) para definir SKU e Versão passada para telemetria, logger, etc. |
| login |
Use ao iniciar o processo de login, abrindo uma janela pop-up no navegador do utilizador |
| login |
Use ao iniciar o processo de login, redirecionando o navegador do utilizador para o endpoint de autorização. Esta função redireciona a página, por isso qualquer código que siga esta função não será executado. IMPORTANTE: NÃO é recomendado ter código dependente da resolução da Promessa. Esta função irá navegar para fora da janela atual do navegador. Atualmente, devolve uma Promessa para refletir a natureza assíncrona do código a correr nesta função. |
| logout(End |
Função de logout descontinuada. Use logoutRedirect ou logoutPopup em vez disso |
| logout |
Limpa a cache local do utilizador atual e depois abre uma janela pop-up a pedir ao utilizador para sair do servidor |
| logout |
Use para fazer logout do utilizador atual e redirecionar o utilizador para o postLogoutRedirectUri.
O comportamento padrão é redirecionar o utilizador para |
| remove |
Remove callback com id fornecido do callback array |
| remove |
Remove um callback registado com o addPerformanceCallback. |
| set |
Define a conta para ser usada como a conta ativa. Se nenhuma conta for passada para as APIs do AcquireToken, a MSAL utilizará esta conta ativa. |
| set |
Substitui o conjunto de logger predefinido em configurações por um novo Logger por novas configurações |
| set |
Cliente de navegação de conjuntos |
| sso |
Esta função utiliza um iframe oculto para obter um código de autorização do eSTS. Existem casos em que isto pode não funcionar:
Nestes casos, o pedido deve ser feito dentro de um popup ou redirecionamento full frame. Nos casos em que é necessária interação, não pode enviar um pedido com prompt=nenhum. Se o seu token de atualização expirou, pode usar esta função para obter silenciosamente um novo conjunto de tokens, desde que a sua sessão no servidor ainda exista. |
Detalhes do Construtor
PublicClientApplication(Configuration, IController)
new PublicClientApplication(configuration: Configuration, controller?: IController)
Parâmetros
- configuration
- Configuration
Objeto para a instância MSAL PublicClientApplication
- controller
- IController
Detalhes de Método
acquireTokenByCode(AuthorizationCodeRequest)
Esta função resgata um código de autorização (passado como código) do endpoint do token eSTS. Este código de autorização deve ser adquirido do lado do servidor usando um cliente confidencial para adquirir um spa_code. Esta API não está indefinida para aquisição e resgate normais de código de autorização.
A resgate deste código de autorização não requerrá PKCE, pois foi adquirido por um cliente confidencial.
function acquireTokenByCode(request: AuthorizationCodeRequest): Promise<AuthenticationResult>
Parâmetros
Devoluções
Promise<AuthenticationResult>
Uma promessa que é cumprida quando esta função está concluída, ou rejeitada se foi levantado um erro.
acquireTokenPopup(PopupRequest)
Use quando quiser obter uma access_token para a sua API abrindo uma janela pop-up no navegador do utilizador
function acquireTokenPopup(request: PopupRequest): Promise<AuthenticationResult>
Parâmetros
- request
- PopupRequest
Devoluções
Promise<AuthenticationResult>
Uma promessa que é cumprida quando esta função está concluída, ou rejeitada se foi levantado um erro.
acquireTokenRedirect(RedirectRequest)
Use quando quiser obter um access_token para a sua API, redirecionando a janela do navegador do utilizador para o endpoint de autorização. Esta função redireciona a página, por isso qualquer código que siga esta função não será executado.
IMPORTANTE: NÃO é recomendado ter código dependente da resolução da Promessa. Esta função irá navegar para fora da janela atual do navegador. Atualmente, devolve uma Promessa para refletir a natureza assíncrona do código a correr nesta função.
function acquireTokenRedirect(request: RedirectRequest): Promise<void>
Parâmetros
- request
- RedirectRequest
Devoluções
Promise<void>
acquireTokenSilent(SilentRequest)
Adquira silenciosamente um token de acesso para um dado conjunto de miras. As devoluções atualmente a processar prometem se forem feitas solicitações paralelas.
function acquireTokenSilent(silentRequest: SilentRequest): Promise<AuthenticationResult>
Parâmetros
- silentRequest
- SilentRequest
Devoluções
Promise<AuthenticationResult>
- uma promessa que é cumprida quando esta função está concluída, ou rejeitada se foi apontado um erro. Devolve o objeto AuthenticationResult
addEventCallback(EventCallbackFunction, EventType[])
Adiciona callbacks de eventos ao array
function addEventCallback(callback: EventCallbackFunction, eventTypes?: EventType[]): null | string
Parâmetros
- callback
- EventCallbackFunction
- eventTypes
Devoluções
null | string
addPerformanceCallback(PerformanceCallbackFunction)
Regista uma chamada de retorno para receber eventos de atuação.
function addPerformanceCallback(callback: PerformanceCallbackFunction): string
Parâmetros
- callback
- PerformanceCallbackFunction
Devoluções
string
clearCache(ClearCacheRequest)
Limpa tokens e conta da cache do navegador.
function clearCache(logoutRequest?: ClearCacheRequest): Promise<void>
Parâmetros
- logoutRequest
- ClearCacheRequest
Devoluções
Promise<void>
createPublicClientApplication(Configuration)
Cria o StandardController e passa-o para a PublicClientApplication
static function createPublicClientApplication(configuration: Configuration): Promise<IPublicClientApplication>
Parâmetros
- configuration
- Configuration
{Configuração}
Devoluções
Promise<IPublicClientApplication>
disableAccountStorageEvents()
Remove o ouvinte de eventos que emite um evento quando uma conta de utilizador é adicionada ou removida do armazenamento local numa aba ou janela diferente do navegador
function disableAccountStorageEvents()
enableAccountStorageEvents()
Adiciona um ouvinte de eventos que emite um evento quando uma conta de utilizador é adicionada ou removida do armazenamento local numa aba ou janela diferente do navegador
function enableAccountStorageEvents()
getAccount(AccountFilter)
Devolve a primeira conta encontrada na cache que corresponde ao filtro de conta passado.
function getAccount(accountFilter: AccountFilter): null | AccountInfo
Parâmetros
- accountFilter
- AccountFilter
Devoluções
null | AccountInfo
A primeira conta encontrada na cache corresponde ao filtro fornecido ou nula caso nenhuma tenha sido encontrada.
getAccountByHomeId(string)
Aviso
Esta API foi preterida.
- Use getAccount instead
Devolve a conta iniciada correspondente ao homeAccountId. (o objeto da conta é criado no momento do início de sessão bem-sucedido) ou nulo quando não é encontrada nenhuma conta correspondente
function getAccountByHomeId(homeAccountId: string): null | AccountInfo
Parâmetros
- homeAccountId
-
string
Devoluções
null | AccountInfo
O objeto da conta armazenado no MSAL
getAccountByLocalId(string)
Aviso
Esta API foi preterida.
- Use getAccount instead
Devolve a conta iniciada correspondente ao localAccountId. (o objeto da conta é criado no momento do início de sessão bem-sucedido) ou nulo quando não é encontrada nenhuma conta correspondente
function getAccountByLocalId(localId: string): null | AccountInfo
Parâmetros
- localId
-
string
Devoluções
null | AccountInfo
O objeto da conta armazenado no MSAL
getAccountByUsername(string)
Aviso
Esta API foi preterida.
- Use getAccount instead
Devolve a conta iniciada correspondente ao nome de utilizador. (o objeto de conta é criado no momento do início de sessão bem-sucedido) ou nulo quando não é encontrada nenhuma conta correspondente. Esta API é fornecida por conveniência, mas o getAccountById deve ser usado para maior fiabilidade
function getAccountByUsername(userName: string): null | AccountInfo
Parâmetros
- userName
-
string
Devoluções
null | AccountInfo
O objeto da conta armazenado no MSAL
getActiveAccount()
Obtém a conta atualmente ativa
function getActiveAccount(): null | AccountInfo
Devoluções
null | AccountInfo
getAllAccounts(AccountFilter)
Devolve todas as contas na cache que correspondem ao filtro opcional. Se não for fornecido filtro, todas as contas são devolvidas.
function getAllAccounts(accountFilter?: AccountFilter): AccountInfo[]
Parâmetros
- accountFilter
- AccountFilter
(Opcional) filtro para restringir as contas devolvidas
Devoluções
Array de objetos AccountInfo na cache
getLogger()
getTokenCache()
handleRedirectPromise(string)
Função de gestor de eventos que permite aos utilizadores lançar eventos depois de o objeto PublicClientApplication ter sido carregado durante os fluxos de redirecionamento. Isto deve ser invocado em todas as cargas de página envolvidas nos fluxos de autenticação de redirecionamento.
function handleRedirectPromise(hash?: string): Promise<null | AuthenticationResult>
Parâmetros
- hash
-
string
Hash para processar. Por defeito é o valor atual de window.location.hash. Só precisa de ser fornecido explicitamente se a resposta a tratar não estiver contida no valor atual.
Devoluções
Promise<null | AuthenticationResult>
Resposta de token ou nula. Se o valor de retorno for nulo, então não foi detetado nenhum redirecionamento de autenticação.
hydrateCache(AuthenticationResult, PopupRequest | RedirectRequest | SilentRequest | Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>)
Hydrates armazena 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
- result
- AuthenticationResult
- request
-
PopupRequest | RedirectRequest | SilentRequest | Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>
O objeto de pedido que foi usado para obter o AuthenticationResult
Devoluções
Promise<void>
initialize(InitializeApplicationRequest)
Função inicializadora para realizar tarefas de arranque assíncronas, como a ligação à extensão WAM
function initialize(request?: InitializeApplicationRequest): Promise<void>
Parâmetros
- request
- InitializeApplicationRequest
{? InitializeApplicationRequest}
Devoluções
Promise<void>
initializeWrapperLibrary(WrapperSKU, string)
Chamado por bibliotecas de wrapper (Angular & React) para definir SKU e Versão passada para telemetria, logger, etc.
function initializeWrapperLibrary(sku: WrapperSKU, version: string)
Parâmetros
- sku
- WrapperSKU
- version
-
string
loginPopup(PopupRequest)
Use ao iniciar o processo de login, abrindo uma janela pop-up no navegador do utilizador
function loginPopup(request?: PopupRequest): Promise<AuthenticationResult>
Parâmetros
- request
- PopupRequest
Devoluções
Promise<AuthenticationResult>
Uma promessa que é cumprida quando esta função está concluída, ou rejeitada se foi levantado um erro.
loginRedirect(RedirectRequest)
Use ao iniciar o processo de login, redirecionando o navegador do utilizador para o endpoint de autorização. Esta função redireciona a página, por isso qualquer código que siga esta função não será executado.
IMPORTANTE: NÃO é recomendado ter código dependente da resolução da Promessa. Esta função irá navegar para fora da janela atual do navegador. Atualmente, devolve uma Promessa para refletir a natureza assíncrona do código a correr nesta função.
function loginRedirect(request?: RedirectRequest): Promise<void>
Parâmetros
- request
- RedirectRequest
Devoluções
Promise<void>
logout(EndSessionRequest)
Aviso
Esta API foi preterida.
Função de logout descontinuada. Use logoutRedirect ou logoutPopup em vez disso
function logout(logoutRequest?: EndSessionRequest): Promise<void>
Parâmetros
- logoutRequest
- EndSessionRequest
Devoluções
Promise<void>
logoutPopup(EndSessionPopupRequest)
Limpa a cache local do utilizador atual e depois abre uma janela pop-up a pedir ao utilizador para sair do servidor
function logoutPopup(logoutRequest?: EndSessionPopupRequest): Promise<void>
Parâmetros
- logoutRequest
- EndSessionPopupRequest
Devoluções
Promise<void>
logoutRedirect(EndSessionRequest)
Use para fazer logout do utilizador atual e redirecionar o utilizador para o postLogoutRedirectUri.
O comportamento padrão é redirecionar o utilizador para window.location.href.
function logoutRedirect(logoutRequest?: EndSessionRequest): Promise<void>
Parâmetros
- logoutRequest
- EndSessionRequest
Devoluções
Promise<void>
removeEventCallback(string)
Remove callback com id fornecido do callback array
function removeEventCallback(callbackId: string)
Parâmetros
- callbackId
-
string
removePerformanceCallback(string)
Remove um callback registado com o addPerformanceCallback.
function removePerformanceCallback(callbackId: string): boolean
Parâmetros
- callbackId
-
string
Devoluções
boolean
setActiveAccount(null | AccountInfo)
Define a conta para ser usada como a conta ativa. Se nenhuma conta for passada para as APIs do AcquireToken, a MSAL utilizará esta conta ativa.
function setActiveAccount(account: null | AccountInfo)
Parâmetros
- account
-
null | AccountInfo
setLogger(Logger)
Substitui o conjunto de logger predefinido em configurações por um novo Logger por novas configurações
function setLogger(logger: Logger)
Parâmetros
- logger
- Logger
Instância de logger
setNavigationClient(INavigationClient)
Cliente de navegação de conjuntos
function setNavigationClient(navigationClient: INavigationClient)
Parâmetros
- navigationClient
- INavigationClient
ssoSilent(Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>)
Esta função utiliza um iframe oculto para obter um código de autorização do eSTS. Existem casos em que isto pode não funcionar:
- Qualquer navegador que utilize uma forma de Prevenção de Rastreio Inteligente
- Se não houver uma sessão estabelecida com o serviço
Nestes casos, o pedido deve ser feito dentro de um popup ou redirecionamento full frame.
Nos casos em que é necessária interação, não pode enviar um pedido com prompt=nenhum.
Se o seu token de atualização expirou, pode usar esta função para obter silenciosamente um novo conjunto de tokens, desde que a sua 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">>
Devoluções
Promise<AuthenticationResult>
Uma promessa que é cumprida quando esta função está concluída, ou rejeitada se foi levantado um erro.