ConfidentialClientApplication Classe

Definizione

Classe da usare per applicazioni client riservate (app Web, API Web e applicazioni 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
Ereditarietà
ConfidentialClientApplication
Implementazioni

Commenti

Le applicazioni client riservate sono in genere applicazioni che vengono eseguite su server (app Web, API Web o persino applicazioni di servizio/daemon). Sono considerati difficili da accedere e pertanto sono in grado di mantenere un segreto dell'applicazione (conservare i segreti del tempo di configurazione perché questi valori sarebbero difficili per gli utenti finali da estrarre). Un'app Web è il client riservato più comune. Il clientId viene esposto tramite il Web browser, ma il segreto viene passato solo nel canale back e non viene mai esposto direttamente. Per informazioni dettagliate, vedere https://aka.ms/msal-net-client-applications

Campi

Nome Descrizione
AttemptRegionDiscovery

Indica a MSAL di provare a individuare automaticamente l'area Azure.

Proprietà

Nome Descrizione
AppConfig

Informazioni dettagliate sulla configurazione di ClientApplication a scopo di debug.

(Ereditato da ClientApplicationBase)
AppTokenCache

Cache dei token dell'applicazione. Questo caso contiene i token di accesso per l'applicazione. Viene gestito e aggiornato in modo invisibile all'utente, se necessario quando si chiama AcquireTokenForClient(IEnumerable<String>)

Authority

Ottiene l'URL dell'autorità o del servizio token di sicurezza da cui MSAL.NET acquisirà i token di sicurezza Il valore restituito di questa proprietà è il valore fornito dallo sviluppatore nel costruttore dell'applicazione oppure il valore del Microsoft.Identity.Client.ApplicationBase.DefaultAuthority membro statico (ovvero https://login.microsoftonline.com/common/)

(Ereditato da ClientApplicationBase)
Certificate

Certificato usato per creare questo ConfidentialClientApplicationoggetto , se presente.

UserTokenCache

Cache dei token utente. Contiene token di accesso, token ID e token di aggiornamento per gli account. Viene usato e aggiornato automaticamente se necessario quando si chiama AcquireTokenSilent(IEnumerable<String>, IAccount) o uno degli override di AcquireTokenSilent(IEnumerable<String>, IAccount). Viene aggiornato da ogni metodo AcquireTokenXXX, ad eccezione del quale usa solo la cache dell'applicazione AcquireTokenForClient (vedere IConfidentialClientApplication).

(Ereditato da ClientApplicationBase)

Metodi

Nome Descrizione
AcquireTokenByAuthorizationCode(IEnumerable<String>, String)

Acquisisce un token di sicurezza dall'autorità configurata nell'app usando il codice di autorizzazione ricevuto in precedenza dal servizio token di sicurezza. Usa il flusso del codice di autorizzazione OAuth 2.0 (vedere https://aka.ms/msal-net-authorization-code). Viene in genere usato nelle app Web (ad esempio ASP.NET/ASP.NET Core app Web) che accedono agli utenti e possono richiedere un codice di autorizzazione. Questo metodo non cerca la cache dei token, ma archivia il risultato, quindi può essere cercato usando altri metodi, AcquireTokenSilent(IEnumerable<String>, IAccount)ad esempio .

AcquireTokenForClient(IEnumerable<String>)

Acquisisce un token dall'autorità configurata nell'app, per il client riservato stesso (nel nome di nessun utente) usando il flusso delle credenziali client. Vedete https://aka.ms/msal-net-client-credentials.

AcquireTokenInLongRunningProcess(IEnumerable<String>, String)

Recupera un token di accesso dalla cache usando la chiave della cache fornita che può essere usata per accedere a un'altra API Web protetta downstream per conto di un utente usando il flusso on-Behalf-Of OAuth 2.0. Vedere OBO a esecuzione prolungata in MSAL.NET. Usare <seealso cref="M:Microsoft. Identity.Client.Extensibility.ConfidentialClientApplicationExtensions.StopLongRunningProcessInWebApiAsync(Microsoft. Identity.Client.ILongRunningWebApi,System.String,System.Threading.CancellationToken)"></seealso> per arrestare il processo a esecuzione prolungata e rimuovere i token associati dalla cache.

AcquireTokenOnBehalfOf(IEnumerable<String>, UserAssertion)

Acquisisce un token di accesso per questa applicazione (in genere un'API Web) dall'autorità configurata nell'applicazione, per accedere a un'altra API Web protetta downstream per conto di un utente che usa il flusso on-Behalf-Of OAuth 2.0. Vedete https://aka.ms/msal-net-on-behalf-of. Questa applicazione client riservata è stata chiamata con un token che verrà fornito nel userAssertion parametro .

AcquireTokenSilent(IEnumerable<String>, IAccount)

[API V3] Tenta di acquisire un token di accesso per account dalla cache dei token utente. Per altri dettagli, vedere https://aka.ms/msal-net-acquiretokensilent

(Ereditato da ClientApplicationBase)
AcquireTokenSilent(IEnumerable<String>, String)

[API V3] Tenta di acquisire un token di accesso per avere IAccount la corrispondenza con l'oggetto Username specificato loginHintdalla cache dei token utente. Per altri dettagli, vedere https://aka.ms/msal-net-acquiretokensilent

(Ereditato da ClientApplicationBase)
GetAccountAsync(String, CancellationToken)

Ottenere in base al IAccount relativo identificatore tra gli account disponibili nella cache dei token.

(Ereditato da ClientApplicationBase)
GetAccountAsync(String)

Ottenere in base al IAccount relativo identificatore tra gli account disponibili nella cache dei token.

(Ereditato da ClientApplicationBase)
GetAccountsAsync()

Restituisce tutti gli account disponibili nella cache dei token utente per l'applicazione.

(Ereditato da ClientApplicationBase)
GetAccountsAsync(CancellationToken)

Restituisce tutti gli account disponibili nella cache dei token utente per l'applicazione.

(Ereditato da ClientApplicationBase)
GetAccountsAsync(String, CancellationToken)

Ottenere la IAccount raccolta in base al relativo identificatore tra gli account disponibili nella cache dei token, in base al flusso utente. Questo vale per Azure scenari di Active Directory B2C.

(Ereditato da ClientApplicationBase)
GetAccountsAsync(String)

Ottenere la IAccount raccolta in base al relativo identificatore tra gli account disponibili nella cache dei token, in base al flusso utente. Questo vale per Azure scenari di Active Directory B2C.

(Ereditato da ClientApplicationBase)
GetAuthorizationRequestUrl(IEnumerable<String>)

Calcola l'URL della richiesta di autorizzazione che consente all'utente di accedere e fornire il consenso all'applicazione che accede a ambiti specifici nel nome dell'utente. L'URL è destinato all'endpoint /authorize dell'autorità configurata nell'applicazione. Questa sostituzione consente di specificare un hint di accesso e un parametro di query aggiuntivo.

InitiateLongRunningProcessInWebApi(IEnumerable<String>, String, String)

Acquisisce un token di accesso per questa API Web dall'autorità configurata nell'applicazione per accedere a un'altra API Web protetta downstream per conto di un utente usando il flusso on-Behalf-Of OAuth 2.0. Vedere OBO a esecuzione prolungata in MSAL.NET. Passare un token di accesso (non un token ID) usato per chiamare questa applicazione client riservata nel userToken parametro . Usare <seealso cref="M:Microsoft. Identity.Client.Extensibility.ConfidentialClientApplicationExtensions.StopLongRunningProcessInWebApiAsync(Microsoft. Identity.Client.ILongRunningWebApi,System.String,System.Threading.CancellationToken)"></seealso> per arrestare il processo a esecuzione prolungata e rimuovere i token associati dalla cache.

RemoveAsync(IAccount, CancellationToken)

Rimuove tutti i token nella cache per l'account specificato.

(Ereditato da ClientApplicationBase)
RemoveAsync(IAccount)

Rimuove tutti i token nella cache per l'account specificato.

(Ereditato da ClientApplicationBase)
StopLongRunningProcessInWebApiAsync(String, CancellationToken)

Arresta una sessione on-behalf-of a esecuzione prolungata rimuovendo i token associati alla chiave della cache fornita. Vedere OBO a esecuzione prolungata in MSAL.NET.

Implementazioni dell'interfaccia esplicita

Nome Descrizione
IByRefreshToken.AcquireTokenByRefreshToken(IEnumerable<String>, String)

Classe da usare per applicazioni client riservate (app Web, API Web e applicazioni daemon).

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

Acquisisce un token per conto di un utente usando un'asserzione di credenziali di identità federata. In questo modo viene utilizzato il user_fic tipo di concessione. L'utente è identificato dall'ID oggetto (OID).

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

Acquisisce un token per conto di un utente usando un'asserzione di credenziali di identità federata. In questo modo viene utilizzato il user_fic tipo di concessione. L'utente è identificato dall'UPN.

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

Acquisisce un token senza interazione dell'utente usando l'autenticazione con nome utente e password. Questo metodo non cerca nella cache dei token, ma archivia il risultato. Prima di chiamare questo metodo, usare altri metodi, AcquireTokenSilent(IEnumerable<String>, IAccount) ad esempio per controllare la cache dei token.

Metodi di estensione

Nome Descrizione
GetCertificate(IConfidentialClientApplication)

Restituisce il certificato utilizzato per creare questo ConfidentialClientApplicationoggetto , se presente.

StopLongRunningProcessInWebApiAsync(ILongRunningWebApi, String, CancellationToken)

Arresta una sessione on-behalf-of a esecuzione prolungata rimuovendo i token associati alla chiave della cache fornita. Vedere OBO a esecuzione prolungata in MSAL.NET.

Si applica a