ConfidentialClientApplication class

Essa classe deve ser usada para adquirir tokens para aplicativos cliente confidenciais (webApp, webAPI). Aplicativos cliente confidenciais configurarão segredos do aplicativo, certificados/declarações de cliente conforme aplicável

Extends

Construtores

ConfidentialClientApplication(Configuration)

Construtor para o ConfidentialClientApplication

Os atributos necessários no objeto Configuration são:

  • clientID: a ID do aplicativo. Você pode obter um registrando seu aplicativo no portal de registro do aplicativo
  • autoridade: a URL de autoridade para seu aplicativo.
  • credencial do cliente: deve definir segredo do cliente, certificado ou asserção para clientes confidenciais. Você pode obter um segredo do cliente no portal de registro do aplicativo.

No Azure AD, a autoridade é uma URL que indica o formuláriohttps://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.

No Azure B2C, a autoridade é do formulário https://{instance}/tfp/{tenant}/{policyName}/ A funcionalidade B2C completa estará disponível nesta biblioteca em versões futuras.

Métodos

acquireTokenByClientCredential(ClientCredentialRequest)

Adquire tokens da autoridade para o aplicativo (não para um usuário final).

acquireTokenOnBehalfOf(OnBehalfOfRequest)

Adquire tokens da autoridade para o aplicativo.

Usado em cenários em que o aplicativo atual é um serviço de camada intermediária que foi chamado com um token que representa um usuário final. O aplicativo atual pode usar o token (oboAssertion) para solicitar outro token para acessar a API Web downstream, em nome desse usuário.

O aplicativo de camada intermediária atual não tem interação do usuário para obter consentimento. Veja como obter consentimento antecipadamente para seu aplicativo de camada intermediária a partir deste artigo. https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-on-behalf-of-flow#gaining-consent-for-the-middle-tier-application

SetAppTokenProvider(IAppTokenProvider)

Esse ponto de extensibilidade só funciona para o fluxo de client_credential, ou seja, acquireTokenByClientCredential e destina-se a SDK do Azure aprimorar o suporte à Identidade Gerenciada.

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

acquireTokenSilent(SilentFlowRequest)

Adquire um token silenciosamente quando um usuário especifica a conta para a qual o token é solicitado.

Essa API espera que o usuário forneça um objeto de conta e procure o cache para recuperar o token, se estiver presente. Há também um booliano "forceRefresh" opcional que o usuário pode enviar para ignorar o cache para access_token e id_token. Caso o refresh_token esteja expirado ou não seja encontrado, um erro é gerado e a orientação é que o usuário chame qualquer API interativa de aquisição de token (por exemplo: acquireTokenByCode()).

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

ConfidentialClientApplication(Configuration)

Construtor para o ConfidentialClientApplication

Os atributos necessários no objeto Configuration são:

  • clientID: a ID do aplicativo. Você pode obter um registrando seu aplicativo no portal de registro do aplicativo
  • autoridade: a URL de autoridade para seu aplicativo.
  • credencial do cliente: deve definir segredo do cliente, certificado ou asserção para clientes confidenciais. Você pode obter um segredo do cliente no portal de registro do aplicativo.

No Azure AD, a autoridade é uma URL que indica o formuláriohttps://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.

No Azure B2C, a autoridade é do formulário https://{instance}/tfp/{tenant}/{policyName}/ A funcionalidade B2C completa estará disponível nesta biblioteca em versões futuras.

new ConfidentialClientApplication(configuration: Configuration)

Parâmetros

configuration
Configuration

Detalhes do método

acquireTokenByClientCredential(ClientCredentialRequest)

Adquire tokens da autoridade para o aplicativo (não para um usuário final).

function acquireTokenByClientCredential(request: ClientCredentialRequest): Promise<null | AuthenticationResult>

Parâmetros

Retornos

Promise<null | AuthenticationResult>

acquireTokenOnBehalfOf(OnBehalfOfRequest)

Adquire tokens da autoridade para o aplicativo.

Usado em cenários em que o aplicativo atual é um serviço de camada intermediária que foi chamado com um token que representa um usuário final. O aplicativo atual pode usar o token (oboAssertion) para solicitar outro token para acessar a API Web downstream, em nome desse usuário.

O aplicativo de camada intermediária atual não tem interação do usuário para obter consentimento. Veja como obter consentimento antecipadamente para seu aplicativo de camada intermediária a partir deste artigo. https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-on-behalf-of-flow#gaining-consent-for-the-middle-tier-application

function acquireTokenOnBehalfOf(request: OnBehalfOfRequest): Promise<null | AuthenticationResult>

Parâmetros

Retornos

Promise<null | AuthenticationResult>

SetAppTokenProvider(IAppTokenProvider)

Esse ponto de extensibilidade só funciona para o fluxo de client_credential, ou seja, acquireTokenByClientCredential e destina-se a SDK do Azure aprimorar o suporte à Identidade Gerenciada.

function SetAppTokenProvider(provider: IAppTokenProvider)

Parâmetros

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

acquireTokenSilent(SilentFlowRequest)

Adquire um token silenciosamente quando um usuário especifica a conta para a qual o token é solicitado.

Essa API espera que o usuário forneça um objeto de conta e procure o cache para recuperar o token, se estiver presente. Há também um booliano "forceRefresh" opcional que o usuário pode enviar para ignorar o cache para access_token e id_token. Caso o refresh_token esteja expirado ou não seja encontrado, um erro é gerado e a orientação é que o usuário chame qualquer API interativa de aquisição de token (por exemplo: acquireTokenByCode()).

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

Parâmetros

Retornos

Herdado deClientApplication.acquireTokenSilent

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