ConfidentialClientApplication Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
- 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 |
| 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 |
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 |
| AcquireTokenSilent(IEnumerable<String>, IAccount) |
[API V3] Tente d’acquérir un jeton d’accès pour le |
| AcquireTokenSilent(IEnumerable<String>, String) |
[API V3] Tente d’acquérir un jeton d’accès pour avoir IAccount la Username correspondance donnée |
| 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 |
| 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 |
| 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 |
| 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. |