Språk

ConfidentialClientApplication Klass

Definition

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
ConfidentialClientApplication
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 (dvshttps://login.microsoftonline.com/common/. )

(Ärvd från ClientApplicationBase)
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 AcquireTokenForClient vilken endast använder programcachen (se IConfidentialClientApplication).

(Ärvd från ClientApplicationBase)

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 userAssertion .

AcquireTokenSilent(IEnumerable<String>, IAccount)

[V3 API] Försöker hämta en åtkomsttoken för från cacheminnet för account användartoken. Mer information finns i https://aka.ms/msal-net-acquiretokensilent

(Ärvd från ClientApplicationBase)
AcquireTokenSilent(IEnumerable<String>, String)

[V3 API] Försöker hämta en åtkomsttoken för IAccount att matcha den Username angivna loginHint, från cacheminnet för användartoken. Mer information finns i https://aka.ms/msal-net-acquiretokensilent

(Ärvd från ClientApplicationBase)
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 userToken . 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.

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 user_fic beviljandetypen. Användaren identifieras av objekt-ID (OID).

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

Hämtar en token åt en användare med hjälp av en federerad identitetsautentiseringsuppgift. Detta använder user_fic beviljandetypen. Användaren identifieras av UPN.

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.

Gäller för