Langage

ConfidentialClientApplication Classe

Définition

Classe à utiliser pour les applications clientes confidentielles (applications web, API web et applications démon).

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
Héritage
ConfidentialClientApplication
Implémente

Remarques

Les applications clientes confidentielles sont généralement des applications qui s’exécutent sur des serveurs (applications web, API web ou même applications de service/démon). Ils sont considérés comme difficiles à accéder et peuvent donc conserver un secret d’application (conserver les secrets de temps de configuration, car ces valeurs seraient difficiles à extraire pour les utilisateurs finaux). Une application web est le client confidentiel le plus courant. Le clientId est exposé via le navigateur web, mais le secret est transmis uniquement dans le canal précédent et n’est jamais directement exposé. Pour plus d’informations, consultez https://aka.ms/msal-net-client-applications

Champs

Nom Description
AttemptRegionDiscovery

Indique à MSAL d’essayer de découvrir automatiquement la région Azure.

Propriétés

Nom Description
AppConfig

Détails sur la configuration de ClientApplication à des fins de débogage.

(Hérité de ClientApplicationBase)
AppTokenCache

Cache de jetons d’application. Ce cas contient des jetons d’accès pour l’application. Il est géré et mis à jour en mode silencieux si nécessaire lors de l’appel AcquireTokenForClient(IEnumerable<String>)

Authority

Obtient l’URL de l’autorité ou du service de jeton de sécurité (STS) à partir duquel MSAL.NET acquérira des jetons de sécurité La valeur de retour de cette propriété est soit la valeur fournie par le développeur dans le constructeur de l’application, soit la valeur du Microsoft.Identity.Client.ApplicationBase.DefaultAuthority membre statique (autrement https://login.microsoftonline.com/common/dit)

(Hérité de ClientApplicationBase)
Certificate

Certificat utilisé pour créer ce ConfidentialClientApplicationcertificat, le cas échéant.

UserTokenCache

Cache de jetons utilisateur. Il contient des jetons d’accès, des jetons d’ID et des jetons d’actualisation pour les comptes. Elle est utilisée et mise à jour silencieusement si nécessaire lors de l’appel AcquireTokenSilent(IEnumerable<String>, IAccount) ou de l’une des substitutions de AcquireTokenSilent(IEnumerable<String>, IAccount). Elle est mise à jour par chaque méthode AcquireTokenXXX, à l’exception de laquelle elle utilise uniquement le cache d’application AcquireTokenForClient (voir IConfidentialClientApplication).

(Hérité de ClientApplicationBase)

Méthodes

Nom Description
AcquireTokenByAuthorizationCode(IEnumerable<String>, String)

Acquiert un jeton de sécurité de l’autorité configurée dans l’application à l’aide du code d’autorisation précédemment reçu du STS. Il utilise le flux de code d’autorisation OAuth 2.0 (voir https://aka.ms/msal-net-authorization-code). Il est généralement utilisé dans les applications web (par exemple, ASP.NET /ASP.NET Core applications web) qui connectent les utilisateurs et peuvent demander un code d'autorisation. Cette méthode ne recherche pas le cache de jetons, mais stocke le résultat dans celui-ci, afin qu’elle puisse être recherchée à l’aide d’autres méthodes telles que AcquireTokenSilent(IEnumerable<String>, IAccount).

AcquireTokenForClient(IEnumerable<String>)

Acquiert un jeton à partir de l’autorité configurée dans l’application, pour le client confidentiel lui-même (sous le nom d’aucun utilisateur) à l’aide du flux d’informations d’identification du client. Voir https://aka.ms/msal-net-client-credentials.

AcquireTokenInLongRunningProcess(IEnumerable<String>, String)

Récupère un jeton d’accès à partir du cache à l’aide de la clé de cache fournie qui peut être utilisée pour accéder à une autre API web protégée en aval pour le compte d’un utilisateur à l’aide du flux OAuth 2.0 On-Behalf-Of. Voir OBO à long terme dans MSAL.NET. Utilisez <seealso cref="M :Microsoft. Identity.Client.Extensibility.ConfidentialClientApplicationExtensions.StopLongRunningProcessInWebApiAsync(Microsoft. Identity.Client.ILongRunningWebApi,System.String,System.Threading.CancellationToken)"></seealso> pour arrêter le processus de longue durée et supprimer les jetons associés du cache.

AcquireTokenOnBehalfOf(IEnumerable<String>, UserAssertion)

Acquiert un jeton d’accès pour cette application (généralement une API web) à partir de l’autorité configurée dans l’application, afin d’accéder à une autre API web protégée en aval pour le compte d’un utilisateur à l’aide du flux OAuth 2.0 On-Behalf-Of. Voir https://aka.ms/msal-net-on-behalf-of. Cette application cliente confidentielle était elle-même appelée avec un jeton qui sera fourni dans le userAssertion paramètre.

AcquireTokenSilent(IEnumerable<String>, IAccount)

[API V3] Tente d’acquérir un jeton d’accès pour le account cache de jetons utilisateur. Pour plus d’informations, voir https://aka.ms/msal-net-acquiretokensilent

(Hérité de ClientApplicationBase)
AcquireTokenSilent(IEnumerable<String>, String)

[API V3] Tente d’acquérir un jeton d’accès pour avoir IAccount la Username correspondance donnée loginHint, à partir du cache de jetons utilisateur. Pour plus d’informations, voir https://aka.ms/msal-net-acquiretokensilent

(Hérité de ClientApplicationBase)
GetAccountAsync(String, CancellationToken)

Obtenez l’identificateur IAccount par son identificateur parmi les comptes disponibles dans le cache de jetons.

(Hérité de ClientApplicationBase)
GetAccountAsync(String)

Obtenez l’identificateur IAccount par son identificateur parmi les comptes disponibles dans le cache de jetons.

(Hérité de ClientApplicationBase)
GetAccountsAsync()

Retourne tous les comptes disponibles dans le cache de jetons utilisateur pour l’application.

(Hérité de ClientApplicationBase)
GetAccountsAsync(CancellationToken)

Retourne tous les comptes disponibles dans le cache de jetons utilisateur pour l’application.

(Hérité de ClientApplicationBase)
GetAccountsAsync(String, CancellationToken)

Obtenez la IAccount collection par son identificateur parmi les comptes disponibles dans le cache de jetons, en fonction du flux utilisateur. Cela concerne Azure scénarios AD B2C.

(Hérité de ClientApplicationBase)
GetAccountsAsync(String)

Obtenez la IAccount collection par son identificateur parmi les comptes disponibles dans le cache de jetons, en fonction du flux utilisateur. Cela concerne Azure scénarios AD B2C.

(Hérité de ClientApplicationBase)
GetAuthorizationRequestUrl(IEnumerable<String>)

Calcule l’URL de la demande d’autorisation permettant à l’utilisateur de se connecter et de donner son consentement à l’application qui accède à des étendues spécifiques dans le nom de l’utilisateur. L’URL cible le point de terminaison /authorize de l’autorité configurée dans l’application. Cette substitution vous permet de spécifier un indicateur de connexion et un paramètre de requête supplémentaire.

InitiateLongRunningProcessInWebApi(IEnumerable<String>, String, String)

Acquiert un jeton d’accès pour cette API web à partir de l’autorité configurée dans l’application, afin d’accéder à une autre API web protégée en aval pour le compte d’un utilisateur à l’aide du flux OAuth 2.0 On-Behalf-Of. Voir OBO à long terme dans MSAL.NET. Transmettez un jeton d’accès (et non un jeton d’ID) qui a été utilisé pour appeler cette application cliente confidentielle dans le userToken paramètre. Utilisez <seealso cref="M :Microsoft. Identity.Client.Extensibility.ConfidentialClientApplicationExtensions.StopLongRunningProcessInWebApiAsync(Microsoft. Identity.Client.ILongRunningWebApi,System.String,System.Threading.CancellationToken)"></seealso> pour arrêter le processus de longue durée et supprimer les jetons associés du cache.

RemoveAsync(IAccount, CancellationToken)

Supprime tous les jetons dans le cache du compte spécifié.

(Hérité de ClientApplicationBase)
RemoveAsync(IAccount)

Supprime tous les jetons dans le cache du compte spécifié.

(Hérité de ClientApplicationBase)
StopLongRunningProcessInWebApiAsync(String, CancellationToken)

Arrête une session en cours d’exécution longue en supprimant les jetons associés à la clé de cache fournie. Voir OBO à long terme dans MSAL.NET.

Implémentations d’interfaces explicites

Nom Description
IByRefreshToken.AcquireTokenByRefreshToken(IEnumerable<String>, String)

Classe à utiliser pour les applications clientes confidentielles (applications web, API web et applications démon).

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

Acquiert un jeton pour le compte d’un utilisateur à l’aide d’une assertion d’informations d’identification d’identité fédérée. Cela utilise le type d’octroi user_fic . L’utilisateur est identifié par l’ID d’objet (OID).

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

Acquiert un jeton pour le compte d’un utilisateur à l’aide d’une assertion d’informations d’identification d’identité fédérée. Cela utilise le type d’octroi user_fic . L’utilisateur est identifié par UPN.

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

Acquiert un jeton sans interaction utilisateur à l’aide de l’authentification par nom d’utilisateur et mot de passe. Cette méthode ne recherche pas dans le cache de jetons, mais stocke le résultat dans celui-ci. Avant d’appeler cette méthode, utilisez d’autres méthodes telles que AcquireTokenSilent(IEnumerable<String>, IAccount) pour vérifier le cache de jetons.

Méthodes d’extension

Nom Description
GetCertificate(IConfidentialClientApplication)

Retourne le certificat utilisé pour créer ce ConfidentialClientApplicationcertificat, le cas échéant.

StopLongRunningProcessInWebApiAsync(ILongRunningWebApi, String, CancellationToken)

Arrête une session en cours d’exécution longue en supprimant les jetons associés à la clé de cache fournie. Voir OBO à long terme dans MSAL.NET.

S’applique à