ConfidentialClientApplication Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Klass som ska användas för konfidentiella klientprogram (webbappar, webb-API:er och daemonprogram).
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
- Arv
- Implementeringar
Kommentarer
Konfidentiella klientprogram är vanligtvis program som körs på servrar (webbappar, webb-API eller till och med tjänst-/daemonprogram). De anses vara svåra att komma åt och kan därför hålla en programhemlighet (lagra konfigurationstidshemligheter eftersom dessa värden skulle vara svåra för slutanvändarna att extrahera). En webbapp är den vanligaste konfidentiella klienten. ClientId exponeras via webbläsaren, men hemligheten skickas endast i den bakre kanalen och exponeras aldrig direkt. Mer information finns i https://aka.ms/msal-net-client-applications
Fält
| Name | Description |
|---|---|
| AttemptRegionDiscovery |
Instruerar MSAL att försöka identifiera den Azure regionen automatiskt. |
Egenskaper
| Name | Description |
|---|---|
| AppConfig |
Information om konfigurationen av ClientApplication i felsökningssyfte. (Ärvd från ClientApplicationBase) |
| AppTokenCache |
Cacheminne för programtoken. Det här fallet innehåller åtkomsttoken för programmet. Den underhålls och uppdateras tyst om det behövs vid anrop AcquireTokenForClient(IEnumerable<String>) |
| Authority |
Hämtar url:en för utfärdaren eller säkerhetstokentjänsten (STS) från vilken MSAL.NET hämtar säkerhetstokenS returneringsvärdet för den här egenskapen är antingen det värde som tillhandahålls av utvecklaren i konstruktorn för programmet eller på annat sätt värdet för den Microsoft.Identity.Client.ApplicationBase.DefaultAuthority statiska medlemmen (dvs |
| Certificate |
Certifikatet som används för att skapa detta ConfidentialClientApplication, om det finns något. |
| UserTokenCache |
Cacheminne för användartoken. Den innehåller åtkomsttoken, ID-token och uppdateringstoken för konton. Den används och uppdateras tyst om det behövs vid anrop AcquireTokenSilent(IEnumerable<String>, IAccount) eller någon av åsidosättningarna för AcquireTokenSilent(IEnumerable<String>, IAccount).
Den uppdateras av varje AcquireTokenXXX-metod, med undantag för |
Metoder
| Name | Description |
|---|---|
| AcquireTokenByAuthorizationCode(IEnumerable<String>, String) |
Hämtar en säkerhetstoken från den utfärdare som konfigurerats i appen med hjälp av auktoriseringskoden som tidigare tagits emot från STS. Den använder OAuth 2.0-auktoriseringskodflödet (se https://aka.ms/msal-net-authorization-code). Det används vanligtvis i webbappar (till exempel ASP.NET/ASP.NET Core webbappar) som loggar in användare och kan begära en auktoriseringskod. Den här metoden söker inte upp tokencacheminnet, men lagrar resultatet i det, så det kan sökas upp med hjälp av andra metoder som AcquireTokenSilent(IEnumerable<String>, IAccount). |
| AcquireTokenForClient(IEnumerable<String>) |
Hämtar en token från den utfärdare som konfigurerats i appen för själva den konfidentiella klienten (i namnet på ingen användare) med hjälp av autentiseringsuppgifterna för klienten. Se även https://aka.ms/msal-net-client-credentials. |
| AcquireTokenInLongRunningProcess(IEnumerable<String>, String) |
Hämtar en åtkomsttoken från cachen med den angivna cachenyckeln som kan användas för att komma åt ett annat underordnat skyddat webb-API åt en användare med hjälp av OAuth 2.0 On-Behalf-Of-flödet. Se Tidskrävande OBO i MSAL.NET. Använd <seealso cref="M:Microsoft. Identity.Client.Extensibility.ConfidentialClientApplicationExtensions.StopLongRunningProcessInWebApiAsync(Microsoft. Identity.Client.ILongRunningWebApi,System.String,System.Threading.CancellationToken)"></seealso> för att stoppa den tidskrävande processen och ta bort associerade token från cacheminnet. |
| AcquireTokenOnBehalfOf(IEnumerable<String>, UserAssertion) |
Hämtar en åtkomsttoken för det här programmet (vanligtvis ett webb-API) från den utfärdare som konfigurerats i programmet för att få åtkomst till ett annat underordnat skyddat webb-API åt en användare som använder OAuth 2.0 On-Behalf-Of-flödet.
Se även https://aka.ms/msal-net-on-behalf-of.
Det här konfidentiella klientprogrammet anropades självt med en token som kommer att anges i parametern |
| AcquireTokenSilent(IEnumerable<String>, IAccount) |
[V3 API] Försöker hämta en åtkomsttoken för från cacheminnet för |
| AcquireTokenSilent(IEnumerable<String>, String) |
[V3 API] Försöker hämta en åtkomsttoken för IAccount att matcha den Username angivna |
| GetAccountAsync(String, CancellationToken) |
IAccount Hämta efter dess identifierare bland de konton som är tillgängliga i tokencachen. (Ärvd från ClientApplicationBase) |
| GetAccountAsync(String) |
IAccount Hämta efter dess identifierare bland de konton som är tillgängliga i tokencachen. (Ärvd från ClientApplicationBase) |
| GetAccountsAsync() |
Returnerar alla tillgängliga konton i programmets cacheminne för användartoken. (Ärvd från ClientApplicationBase) |
| GetAccountsAsync(CancellationToken) |
Returnerar alla tillgängliga konton i programmets cacheminne för användartoken. (Ärvd från ClientApplicationBase) |
| GetAccountsAsync(String, CancellationToken) |
IAccount Hämta samlingen efter dess identifierare bland de konton som är tillgängliga i tokencachen baserat på användarflödet. Detta gäller Azure AD B2C-scenarier. (Ärvd från ClientApplicationBase) |
| GetAccountsAsync(String) |
IAccount Hämta samlingen efter dess identifierare bland de konton som är tillgängliga i tokencachen baserat på användarflödet. Detta gäller Azure AD B2C-scenarier. (Ärvd från ClientApplicationBase) |
| GetAuthorizationRequestUrl(IEnumerable<String>) |
Beräknar URL:en för auktoriseringsbegäran som låter användaren logga in och samtycka till att programmet får åtkomst till specifika omfång i användarens namn. URL:en riktar sig till slutpunkten /authorize för den utfärdare som konfigurerats i programmet. Med den här åsidosättningen kan du ange en inloggningstips och en extra frågeparameter. |
| InitiateLongRunningProcessInWebApi(IEnumerable<String>, String, String) |
Hämtar en åtkomsttoken för det här webb-API:et från den utfärdare som konfigurerats i programmet för att få åtkomst till ett annat underordnat skyddat webb-API åt en användare som använder OAuth 2.0 On-Behalf-Of-flödet.
Se Tidskrävande OBO i MSAL.NET.
Skicka en åtkomsttoken (inte en ID-token) som användes för att anropa det här konfidentiella klientprogrammet i parametern |
| RemoveAsync(IAccount, CancellationToken) |
Tar bort alla token i cacheminnet för det angivna kontot. (Ärvd från ClientApplicationBase) |
| RemoveAsync(IAccount) |
Tar bort alla token i cacheminnet för det angivna kontot. (Ärvd från ClientApplicationBase) |
| StopLongRunningProcessInWebApiAsync(String, CancellationToken) |
Stoppar en pågående långvarig session genom att ta bort de token som är associerade med den angivna cachenyckeln. Se Tidskrävande OBO i MSAL.NET. |
Explicita gränssnittsimplementeringar
| Name | Description |
|---|---|
| IByRefreshToken.AcquireTokenByRefreshToken(IEnumerable<String>, String) |
Klass som ska användas för konfidentiella klientprogram (webbappar, webb-API:er och daemonprogram). |
| IByUserFederatedIdentityCredential.AcquireTokenByUserFederatedIdentityCredential(IEnumerable<String>, Guid, String) |
Hämtar en token åt en användare med hjälp av en federerad identitetsautentiseringsuppgift.
Detta använder |
| IByUserFederatedIdentityCredential.AcquireTokenByUserFederatedIdentityCredential(IEnumerable<String>, String, String) |
Hämtar en token åt en användare med hjälp av en federerad identitetsautentiseringsuppgift.
Detta använder |
| IByUsernameAndPassword.AcquireTokenByUsernamePassword(IEnumerable<String>, String, String) |
Hämtar en token utan användarinteraktion med hjälp av autentisering med användarnamn och lösenord. Den här metoden ser inte ut i tokencachen, men lagrar resultatet i den. Innan du anropar den här metoden använder du andra metoder, till exempel AcquireTokenSilent(IEnumerable<String>, IAccount) för att kontrollera tokencachen. |
Tilläggsmetoder
| Name | Description |
|---|---|
| GetCertificate(IConfidentialClientApplication) |
Returnerar certifikatet som används för att skapa detta ConfidentialClientApplication, om det finns något. |
| StopLongRunningProcessInWebApiAsync(ILongRunningWebApi, String, CancellationToken) |
Stoppar en pågående långvarig session genom att ta bort de token som är associerade med den angivna cachenyckeln. Se Tidskrävande OBO i MSAL.NET. |