ConfidentialClientApplication Classe

Definição

Classe para ser usada em aplicações cliente confidenciais (aplicações web, APIs web e aplicações daemon).

public sealed class ConfidentialClientApplication : Microsoft.Identity.Client.ClientApplicationBase, Microsoft.Identity.Client.IByRefreshToken, Microsoft.Identity.Client.IByUsernameAndPassword, Microsoft.Identity.Client.IConfidentialClientApplication, Microsoft.Identity.Client.ILongRunningWebApi
type ConfidentialClientApplication = class
    inherit ClientApplicationBase
    interface IConfidentialClientApplication
    interface IClientApplicationBase
    interface IApplicationBase
    interface IByUserFederatedIdentityCredential
    interface IByRefreshToken
    interface ILongRunningWebApi
    interface IByUsernameAndPassword
Public NotInheritable Class ConfidentialClientApplication
Inherits ClientApplicationBase
Implements IByRefreshToken, IByUsernameAndPassword, IConfidentialClientApplication, ILongRunningWebApi
Herança
ConfidentialClientApplication
Implementações

Observações

Aplicações cliente confidenciais são tipicamente aplicações que correm em servidores (aplicações web, API web ou até aplicações de serviço/daemon). São considerados difíceis de aceder e, por isso, capazes de manter uma aplicação em segredo (manter segredos de tempo de configuração, pois estes valores seriam difíceis de extrair para os utilizadores finais). Uma aplicação web é o cliente confidencial mais comum. O clientId é exposto através do navegador web, mas o segredo é passado apenas pelo canal de fundo e nunca é exposto diretamente. Para mais informações, consultar: https://aka.ms/msal-net-client-applications

Campos

Name Descrição
AttemptRegionDiscovery

Instrui o MSAL a tentar descobrir automaticamente a região Azure.

Propriedades

Name Descrição
AppConfig

Detalhes sobre a configuração da ClienteApplication para fins de depuração.

(Herdado de ClientApplicationBase)
AppTokenCache

Cache de tokens de aplicação. Este caso detém tokens de acesso para a aplicação. É mantido e atualizado silenciosamente se necessário ao ligar AcquireTokenForClient(IEnumerable<String>)

Authority

Obtém a URL da autoridade, ou do serviço de token de segurança (STS), a partir do qual o MSAL.NET irá adquirir os tokens de segurança. O valor de retorno desta propriedade é ou o valor fornecido pelo programador no construtor da aplicação, ou, de outra forma, o valor do Microsoft.Identity.Client.ApplicationBase.DefaultAuthority membro estático (isto éhttps://login.microsoftonline.com/common/)

(Herdado de ClientApplicationBase)
Certificate

O certificado usado para criar isto ConfidentialClientApplication, se houver.

UserTokenCache

Cache de tokens de utilizador. Detém tokens de acesso, id tokens e tokens de atualização para contas. É usado e atualizado silenciosamente se necessário ao ligar AcquireTokenSilent(IEnumerable<String>, IAccount) ou numa das substituições de AcquireTokenSilent(IEnumerable<String>, IAccount). É atualizado por cada método AcquireTokenXXX, com exceção do AcquireTokenForClient qual apenas utiliza a cache da aplicação (ver IConfidentialClientApplication).

(Herdado de ClientApplicationBase)

Métodos

Name Descrição
AcquireTokenByAuthorizationCode(IEnumerable<String>, String)

Adquire um token de segurança da autoridade configurado na aplicação usando o código de autorização previamente recebido do STS. Utiliza o fluxo de código de autorização OAuth 2.0 (Ver https://aka.ms/msal-net-authorization-code). É geralmente usado em aplicações web (por exemplo, aplicações web ASP.NET / ASP.NET Core) que fazem login com utilizadores e podem solicitar um código de autorização. Este método não procura a cache de tokens, mas armazena o resultado nela, para que possa ser consultado usando outros métodos como AcquireTokenSilent(IEnumerable<String>, IAccount).

AcquireTokenForClient(IEnumerable<String>)

Adquire um token da autoridade configurada na aplicação, para o próprio cliente confidencial (em nome de nenhum utilizador) usando o fluxo de credenciais do cliente. Consulte https://aka.ms/msal-net-client-credentials.

AcquireTokenInLongRunningProcess(IEnumerable<String>, String)

Recupera um token de acesso da cache usando a chave de cache fornecida que pode ser usada para aceder a outra API web protegida a jusante em nome de um utilizador que utiliza o fluxo OAuth 2.0 On-Behalf-Of. Ver OBO de longa duração no MSAL.NET. Use <também cref="M:Microsoft. Identity.Client.Extensibility.ConfidentialClientApplicationExtensions.StopLongLongRunningProcessInWebApiAsync(Microsoft. Identity.Client.ILongRunningWebApi,System.String,System.Threading.CancellationToken)"></seealso> para parar o longo processo e remover os tokens associados da cache.

AcquireTokenOnBehalfOf(IEnumerable<String>, UserAssertion)

Adquire um token de acesso para esta aplicação (normalmente uma API Web) da autoridade configurada na aplicação, para aceder a outra API web protegida a jusante em nome de um utilizador que utiliza o fluxo OAuth 2.0 On-Behalf-Of. Consulte https://aka.ms/msal-net-on-behalf-of. Esta aplicação cliente confidencial era ela própria chamada com um token que seria fornecido no userAssertion parâmetro.

AcquireTokenSilent(IEnumerable<String>, IAccount)

[V3 API] Tenta adquirir um token de acesso a account partir do cache de tokens do utilizador. Consulte https://aka.ms/msal-net-acquiretokensilent para mais detalhes

(Herdado de ClientApplicationBase)
AcquireTokenSilent(IEnumerable<String>, String)

[V3 API] Tentativas de adquirir um token de acesso para o IAccount ter a Username correspondência ao dado loginHint, a partir da cache do token do utilizador. Consulte https://aka.ms/msal-net-acquiretokensilent para mais detalhes

(Herdado de ClientApplicationBase)
GetAccountAsync(String, CancellationToken)

Obtenha o IAccount identificador do seu nome entre as contas disponíveis na cache de tokens.

(Herdado de ClientApplicationBase)
GetAccountAsync(String)

Obtenha o IAccount identificador do seu nome entre as contas disponíveis na cache de tokens.

(Herdado de ClientApplicationBase)
GetAccountsAsync()

Devolve todas as contas disponíveis na cache de tokens de utilizador para a aplicação.

(Herdado de ClientApplicationBase)
GetAccountsAsync(CancellationToken)

Devolve todas as contas disponíveis na cache de tokens de utilizador para a aplicação.

(Herdado de ClientApplicationBase)
GetAccountsAsync(String, CancellationToken)

Obtenha a IAccount coleção pelo seu identificador entre as contas disponíveis na cache de tokens, com base no fluxo do utilizador. Isto é para cenários B2C do Azure AD.

(Herdado de ClientApplicationBase)
GetAccountsAsync(String)

Obtenha a IAccount coleção pelo seu identificador entre as contas disponíveis na cache de tokens, com base no fluxo do utilizador. Isto é para cenários B2C do Azure AD.

(Herdado de ClientApplicationBase)
GetAuthorizationRequestUrl(IEnumerable<String>)

Calcula a URL do pedido de autorização, permitindo ao utilizador iniciar sessão e consentir que a aplicação aceda a escopos específicos no nome do utilizador. A URL direciona-se para o endpoint /authorize da autoridade configurada na aplicação. Este override permite-lhe especificar uma dica de login e um parâmetro adicional de consulta.

InitiateLongRunningProcessInWebApi(IEnumerable<String>, String, String)

Adquire um token de acesso para esta API web da autoridade configurada na aplicação, para aceder a outra API web protegida a jusante em nome de um utilizador que utiliza o fluxo OAuth 2.0 On-Behalf-Of. Ver OBO de longa duração no MSAL.NET. Passe um token de acesso (não um token ID) que foi usado para chamar esta aplicação cliente confidencial no userToken parâmetro. Use <também cref="M:Microsoft. Identity.Client.Extensibility.ConfidentialClientApplicationExtensions.StopLongLongRunningProcessInWebApiAsync(Microsoft. Identity.Client.ILongRunningWebApi,System.String,System.Threading.CancellationToken)"></seealso> para parar o longo processo e remover os tokens associados da cache.

RemoveAsync(IAccount, CancellationToken)

Remove todos os tokens da cache da conta especificada.

(Herdado de ClientApplicationBase)
RemoveAsync(IAccount)

Remove todos os tokens da cache da conta especificada.

(Herdado de ClientApplicationBase)
StopLongRunningProcessInWebApiAsync(String, CancellationToken)

Interrompe uma sessão de longa duração em curso ao remover os tokens associados à chave de cache fornecida. Ver OBO de longa duração no MSAL.NET.

Implementações de Interface Explícita

Name Descrição
IByRefreshToken.AcquireTokenByRefreshToken(IEnumerable<String>, String)

Classe para ser usada em aplicações cliente confidenciais (aplicações web, APIs web e aplicações daemon).

IByUserFederatedIdentityCredential.AcquireTokenByUserFederatedIdentityCredential(IEnumerable<String>, Guid, String)

Adquire um token em nome de um utilizador usando uma asserção federada de credenciais de identidade. Isto utiliza o tipo de user_fic subsídio. O utilizador é identificado pelo Object ID (OID).

IByUserFederatedIdentityCredential.AcquireTokenByUserFederatedIdentityCredential(IEnumerable<String>, String, String)

Adquire um token em nome de um utilizador usando uma asserção federada de credenciais de identidade. Isto utiliza o tipo de user_fic subsídio. O utilizador é identificado pela UPN.

IByUsernameAndPassword.AcquireTokenByUsernamePassword(IEnumerable<String>, String, String)

Adquire um token sem interação do utilizador usando autenticação por nome de utilizador e palavra-passe. Este método não procura na cache de tokens, mas armazena o resultado nele. Antes de chamar este método, use outros métodos, como AcquireTokenSilent(IEnumerable<String>, IAccount) verificar a cache do token.

Métodos da Extensão

Name Descrição
GetCertificate(IConfidentialClientApplication)

Devolve o certificado usado para criar isto ConfidentialClientApplication, se existir.

StopLongRunningProcessInWebApiAsync(ILongRunningWebApi, String, CancellationToken)

Interrompe uma sessão de longa duração em curso ao remover os tokens associados à chave de cache fornecida. Ver OBO de longa duração no MSAL.NET.

Aplica-se a