PublicClientApplication class

Essa classe deve ser usada para adquirir tokens para aplicativos cliente públicos (desktop, móvel). Aplicativos cliente públicos não são confiáveis para armazenar com segurança os segredos do aplicativo e, portanto, só podem solicitar tokens em nome de um usuário.

Extends

Construtores

PublicClientApplication(Configuration)

Atributos importantes no objeto Configuration para autenticação são:

  • clientID: a ID do aplicativo. Você pode obter um registrando seu aplicativo em nosso portal de registro de aplicativo.
  • autoridade: a URL de autoridade para seu aplicativo.

As autoridades do AAD são do formulário https://login.microsoftonline.com/{Enter_the_Tenant_Info_Here}.

  • Se seu aplicativo der suporte a Contas em um diretório organizacional, substitua o valor "Enter_the_Tenant_Info_Here" pela ID do Locatário ou pelo nome do locatário (por exemplo, contoso.microsoft.com).
  • Se seu aplicativo der suporte a Contas em qualquer diretório organizacional, substitua o valor "Enter_the_Tenant_Info_Here" por organizações.
  • Se seu aplicativo der suporte a Contas em qualquer diretório organizacional e contas de Microsoft pessoais, substitua o valor "Enter_the_Tenant_Info_Here" por comum.
  • Para restringir o suporte somente a contas de Microsoft Pessoais, substitua o valor "Enter_the_Tenant_Info_Here" pelos consumidores.

Azure autoridades B2C são do formulário https://{instance}/{tenant}/{policy}. Cada política é considerada sua própria autoridade. Você precisará definir todas as knownAuthorities no momento da construção do aplicativo cliente.

As autoridades do ADFS são do formulário https://{instance}/adfs.

Métodos

acquireTokenByDeviceCode(DeviceCodeRequest)

Adquire um token da autoridade usando o fluxo de código do dispositivo OAuth2.0. Esse fluxo foi projetado para dispositivos que não têm acesso a um navegador ou têm restrições de entrada. O servidor de autorização emite um objeto DeviceCode com um código de verificação, um código de usuário final e o URI de verificação do usuário final. O objeto DeviceCode é fornecido por meio de um retorno de chamada e o usuário final deve ser instruído a usar outro dispositivo para navegar até o URI de verificação para inserir credenciais. Como o cliente não pode receber solicitações de entrada, ele sonda o servidor de autorização repetidamente até que o usuário final conclua a entrada de credenciais.

acquireTokenInteractive(InteractiveRequest)

Adquire um token interativamente por meio do navegador solicitando um código de autorização e trocando-o por um token.

acquireTokenSilent(SilentFlowRequest)

Retorna um token recuperado do cache ou trocando o token de atualização por um novo token de acesso. Se a intermediação estiver habilitada, a solicitação de token será atendida pelo agente.

getAllAccounts()

Retorna todas as contas armazenadas em cache para este aplicativo. Se a intermediação estiver habilitada, essa solicitação será atendida pelo agente.

signOut(SignOutRequest)

Remove artefatos de cache associados à conta fornecida

Métodos herdados

acquireTokenByCode(AuthorizationCodeRequest, AuthorizationCodePayload)

Adquire um token trocando o código de autorização recebido da primeira etapa do fluxo de código de autorização OAuth2.0.

getAuthCodeUrl(AuthorizationCodeUrlRequest) pode ser usado para criar a URL para a primeira etapa do fluxo de código de autorização OAuth2.0. Verifique se os valores de redirectUri e escopos em AuthorizationCodeUrlRequest e AuthorizationCodeRequest são os mesmos.

acquireTokenByRefreshToken(RefreshTokenRequest)

Adquire um token trocando o token de atualização fornecido para um novo conjunto de tokens.

Essa API é fornecida apenas para cenários em que você deseja migrar da ADAL para a MSAL. Caso contrário, é recomendável que você use acquireTokenSilent() para cenários silenciosos. Ao usar acquireTokenSilent(), a MSAL manipulará o cache e a atualização de tokens automaticamente.

acquireTokenByUsernamePassword(UsernamePasswordRequest)

Adquire tokens com concessão de senha trocando nome de usuário e senha de aplicativos cliente por credenciais

A prática atual mais recente do OAuth 2.0 Security não permite totalmente a concessão de senha. Mais detalhes sobre essa recomendação na https://tools.ietf.org/html/draft-ietf-oauth-security-topics-13#section-3.4 documentação e nas recomendações da Microsoft estão em:https://docs.microsoft.com/en-us/azure/active-directory/develop/msal-authentication-flows#usernamepassword

clearCache()

Limpar o cache

getAuthCodeUrl(AuthorizationUrlRequest)

Cria a URL da solicitação de autorização, permitindo que o usuário insira credenciais e consentimento para o aplicativo. A URL tem como destino o ponto de extremidade /authorize da autoridade configurada no objeto do aplicativo.

Depois que o usuário inserir suas credenciais e consentimentos, a autoridade enviará uma resposta ao URI de redirecionamento enviado na solicitação e deverá conter um código de autorização, que pode ser usado para adquirir tokens por meio acquireTokenByCode(AuthorizationCodeRequest)de .

getLogger()

Retorna a instância do agente

getTokenCache()

Obtém o cache de token para o aplicativo.

setLogger(Logger)

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

Detalhes do construtor

PublicClientApplication(Configuration)

Atributos importantes no objeto Configuration para autenticação são:

  • clientID: a ID do aplicativo. Você pode obter um registrando seu aplicativo em nosso portal de registro de aplicativo.
  • autoridade: a URL de autoridade para seu aplicativo.

As autoridades do AAD são do formulário https://login.microsoftonline.com/{Enter_the_Tenant_Info_Here}.

  • Se seu aplicativo der suporte a Contas em um diretório organizacional, substitua o valor "Enter_the_Tenant_Info_Here" pela ID do Locatário ou pelo nome do locatário (por exemplo, contoso.microsoft.com).
  • Se seu aplicativo der suporte a Contas em qualquer diretório organizacional, substitua o valor "Enter_the_Tenant_Info_Here" por organizações.
  • Se seu aplicativo der suporte a Contas em qualquer diretório organizacional e contas de Microsoft pessoais, substitua o valor "Enter_the_Tenant_Info_Here" por comum.
  • Para restringir o suporte somente a contas de Microsoft Pessoais, substitua o valor "Enter_the_Tenant_Info_Here" pelos consumidores.

Azure autoridades B2C são do formulário https://{instance}/{tenant}/{policy}. Cada política é considerada sua própria autoridade. Você precisará definir todas as knownAuthorities no momento da construção do aplicativo cliente.

As autoridades do ADFS são do formulário https://{instance}/adfs.

new PublicClientApplication(configuration: Configuration)

Parâmetros

configuration
Configuration

Detalhes do método

acquireTokenByDeviceCode(DeviceCodeRequest)

Adquire um token da autoridade usando o fluxo de código do dispositivo OAuth2.0. Esse fluxo foi projetado para dispositivos que não têm acesso a um navegador ou têm restrições de entrada. O servidor de autorização emite um objeto DeviceCode com um código de verificação, um código de usuário final e o URI de verificação do usuário final. O objeto DeviceCode é fornecido por meio de um retorno de chamada e o usuário final deve ser instruído a usar outro dispositivo para navegar até o URI de verificação para inserir credenciais. Como o cliente não pode receber solicitações de entrada, ele sonda o servidor de autorização repetidamente até que o usuário final conclua a entrada de credenciais.

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

Parâmetros

Retornos

Promise<null | AuthenticationResult>

acquireTokenInteractive(InteractiveRequest)

Adquire um token interativamente por meio do navegador solicitando um código de autorização e trocando-o por um token.

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

Parâmetros

Retornos

acquireTokenSilent(SilentFlowRequest)

Retorna um token recuperado do cache ou trocando o token de atualização por um novo token de acesso. Se a intermediação estiver habilitada, a solicitação de token será atendida pelo agente.

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

Parâmetros

request
SilentFlowRequest

desenvolvedor fornecido SilentFlowRequest

Retornos

getAllAccounts()

Retorna todas as contas armazenadas em cache para este aplicativo. Se a intermediação estiver habilitada, essa solicitação será atendida pelo agente.

function getAllAccounts(): Promise<AccountInfo[]>

Retornos

Promise<AccountInfo[]>

signOut(SignOutRequest)

Remove artefatos de cache associados à conta fornecida

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

Parâmetros

request
SignOutRequest

desenvolvedor fornecido SignOutRequest

Retornos

Promise<void>

Detalhes do método herdado

acquireTokenByCode(AuthorizationCodeRequest, AuthorizationCodePayload)

Adquire um token trocando o código de autorização recebido da primeira etapa do fluxo de código de autorização OAuth2.0.

getAuthCodeUrl(AuthorizationCodeUrlRequest) pode ser usado para criar a URL para a primeira etapa do fluxo de código de autorização OAuth2.0. Verifique se os valores de redirectUri e escopos em AuthorizationCodeUrlRequest e AuthorizationCodeRequest são os mesmos.

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

Parâmetros

authCodePayLoad
AuthorizationCodePayload

Retornos

Herdado deClientApplication.acquireTokenByCode

acquireTokenByRefreshToken(RefreshTokenRequest)

Adquire um token trocando o token de atualização fornecido para um novo conjunto de tokens.

Essa API é fornecida apenas para cenários em que você deseja migrar da ADAL para a MSAL. Caso contrário, é recomendável que você use acquireTokenSilent() para cenários silenciosos. Ao usar acquireTokenSilent(), a MSAL manipulará o cache e a atualização de tokens automaticamente.

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

Parâmetros

Retornos

Promise<null | AuthenticationResult>

Herdado deClientApplication.acquireTokenByRefreshToken

acquireTokenByUsernamePassword(UsernamePasswordRequest)

Aviso

Essa API foi preterida.

  • Use a more secure flow instead

Adquire tokens com concessão de senha trocando nome de usuário e senha de aplicativos cliente por credenciais

A prática atual mais recente do OAuth 2.0 Security não permite totalmente a concessão de senha. Mais detalhes sobre essa recomendação na https://tools.ietf.org/html/draft-ietf-oauth-security-topics-13#section-3.4 documentação e nas recomendações da Microsoft estão em: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

Retornos

Promise<null | AuthenticationResult>

Herdado deClientApplication.acquireTokenByUsernamePassword

clearCache()

Limpar o cache

function clearCache()

Herdado deClientApplication.clearCache

getAuthCodeUrl(AuthorizationUrlRequest)

Cria a URL da solicitação de autorização, permitindo que o usuário insira credenciais e consentimento para o aplicativo. A URL tem como destino o ponto de extremidade /authorize da autoridade configurada no objeto do aplicativo.

Depois que o usuário inserir suas credenciais e consentimentos, a autoridade enviará uma resposta ao URI de redirecionamento enviado na solicitação e deverá conter um código de autorização, que pode ser usado para adquirir tokens por meio acquireTokenByCode(AuthorizationCodeRequest)de .

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

Parâmetros

Retornos

Promise<string>

Herdado deClientApplication.getAuthCodeUrl

getLogger()

Retorna a instância do agente

function getLogger(): Logger

Retornos

Herdado deClientApplication.getLogger

getTokenCache()

Obtém o cache de token para o aplicativo.

function getTokenCache(): TokenCache

Retornos

Herdado deClientApplication.getTokenCache

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

Herdado deClientApplication.setLogger