Język

ConfidentialClientApplication Klasa

Definicja

Klasa do użycia w przypadku poufnych aplikacji klienckich (aplikacji internetowych, internetowych interfejsów API i aplikacji demona).

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
Dziedziczenie
ConfidentialClientApplication
Implementuje

Uwagi

Poufne aplikacje klienckie to zazwyczaj aplikacje uruchamiane na serwerach (aplikacje internetowe, internetowy interfejs API, a nawet aplikacje usługi/demona). Są one uważane za trudne do uzyskania dostępu i dlatego mogą przechowywać wpis tajny aplikacji (przechowywanie wpisów tajnych czasu konfiguracji, ponieważ te wartości byłyby trudne dla użytkowników końcowych do wyodrębnienia). Aplikacja internetowa jest najczęściej używanym klientem poufnym. Identyfikator clientId jest udostępniany za pośrednictwem przeglądarki internetowej, ale wpis tajny jest przekazywany tylko w kanale wstecznym i nigdy nie jest bezpośrednio ujawniany. Aby uzyskać szczegółowe informacje, zobacz https://aka.ms/msal-net-client-applications

Pola

Nazwa Opis
AttemptRegionDiscovery

Instruuje bibliotekę MSAL, aby próbowała automatycznie odnaleźć region Azure.

Właściwości

Nazwa Opis
AppConfig

Szczegółowe informacje na temat konfiguracji aplikacji clientApplication na potrzeby debugowania.

(Odziedziczone po ClientApplicationBase)
AppTokenCache

Pamięć podręczna tokenu aplikacji. W tym przypadku są przechowywane tokeny dostępu dla aplikacji. Jest on utrzymywany i aktualizowany w trybie dyskretnym w razie potrzeby podczas wywoływania AcquireTokenForClient(IEnumerable<String>)

Authority

Pobiera adres URL urzędu lub usługi tokenu zabezpieczającego (STS), z której MSAL.NET uzyska tokeny zabezpieczające Wartość zwracana tej właściwości jest wartością podaną przez dewelopera w konstruktorze aplikacji lub w inny sposób wartością Microsoft.Identity.Client.ApplicationBase.DefaultAuthority statycznego elementu członkowskiego (czyli https://login.microsoftonline.com/common/)

(Odziedziczone po ClientApplicationBase)
Certificate

Certyfikat użyty do utworzenia tego ConfidentialClientApplicationcertyfikatu , jeśli istnieje.

UserTokenCache

Pamięć podręczna tokenu użytkownika. Przechowuje tokeny dostępu, tokeny identyfikatorów i tokeny odświeżania dla kont. Jest on używany i aktualizowany w trybie dyskretnym w razie potrzeby podczas wywoływania AcquireTokenSilent(IEnumerable<String>, IAccount) lub jednego z przesłonięć elementu AcquireTokenSilent(IEnumerable<String>, IAccount). Jest on aktualizowany przez każdą metodę AcquireTokenXXX, z wyjątkiem AcquireTokenForClient której używa tylko pamięci podręcznej aplikacji (zobacz IConfidentialClientApplication).

(Odziedziczone po ClientApplicationBase)

Metody

Nazwa Opis
AcquireTokenByAuthorizationCode(IEnumerable<String>, String)

Uzyskuje token zabezpieczający z urzędu skonfigurowanego w aplikacji przy użyciu kodu autoryzacji otrzymanego wcześniej z usługi STS. Używa przepływu kodu autoryzacji OAuth 2.0 (zobacz https://aka.ms/msal-net-authorization-code). Jest ona zwykle używana w aplikacjach internetowych (na przykład ASP.NET / ASP.NET Core aplikacjach internetowych), które loguje użytkowników i mogą żądać kodu autoryzacji. Ta metoda nie wyszukuje pamięci podręcznej tokenów, ale przechowuje wynik, więc można ją wyszukać przy użyciu innych metod, takich jak AcquireTokenSilent(IEnumerable<String>, IAccount).

AcquireTokenForClient(IEnumerable<String>)

Uzyskuje token z urzędu skonfigurowanego w aplikacji dla samego klienta poufnego (w nazwie bez użytkownika) przy użyciu przepływu poświadczeń klienta. Zobacz: https://aka.ms/msal-net-client-credentials.

AcquireTokenInLongRunningProcess(IEnumerable<String>, String)

Pobiera token dostępu z pamięci podręcznej przy użyciu podanego klucza pamięci podręcznej, który może służyć do uzyskiwania dostępu do innego podrzędnego chronionego internetowego interfejsu API w imieniu użytkownika przy użyciu przepływu OAuth 2.0 On-Behalf-Of. Zobacz Long-running OBO in MSAL.NET (Długotrwałe OBO w MSAL.NET). Użyj polecenia <seealso cref="M:Microsoft. Identity.Client.Extensibility.ConfidentialClientApplicationExtensions.StopLongRunningProcessInWebApiAsync(Microsoft. Identity.Client.ILongRunningWebApi, System.String, System.Threading.CancellationToken)"></seealso>, aby zatrzymać długotrwały proces i usunąć skojarzone tokeny z pamięci podręcznej.

AcquireTokenOnBehalfOf(IEnumerable<String>, UserAssertion)

Uzyskuje token dostępu dla tej aplikacji (zazwyczaj internetowy interfejs API) z urzędu skonfigurowanego w aplikacji w celu uzyskania dostępu do innego podrzędnego chronionego internetowego interfejsu API w imieniu użytkownika przy użyciu przepływu OAuth 2.0 On-Behalf-Of. Zobacz: https://aka.ms/msal-net-on-behalf-of. Ta zaufana aplikacja kliencka została wywołana przy użyciu tokenu, który zostanie podany w parametrze userAssertion .

AcquireTokenSilent(IEnumerable<String>, IAccount)

[Interfejs API w wersji 3] Próbuje uzyskać token dostępu dla account elementu z pamięci podręcznej tokenu użytkownika. Zobacz https://aka.ms/msal-net-acquiretokensilent , aby uzyskać więcej szczegółów

(Odziedziczone po ClientApplicationBase)
AcquireTokenSilent(IEnumerable<String>, String)

[Interfejs API w wersji 3] Próbuje uzyskać token dostępu dla IAccount elementu Username zgodnego z danym loginHintelementem z pamięci podręcznej tokenu użytkownika. Zobacz https://aka.ms/msal-net-acquiretokensilent , aby uzyskać więcej szczegółów

(Odziedziczone po ClientApplicationBase)
GetAccountAsync(String, CancellationToken)

IAccount Pobierz element według jego identyfikatora między kontami dostępnymi w pamięci podręcznej tokenów.

(Odziedziczone po ClientApplicationBase)
GetAccountAsync(String)

IAccount Pobierz element według jego identyfikatora między kontami dostępnymi w pamięci podręcznej tokenów.

(Odziedziczone po ClientApplicationBase)
GetAccountsAsync()

Zwraca wszystkie dostępne konta w pamięci podręcznej tokenu użytkownika dla aplikacji.

(Odziedziczone po ClientApplicationBase)
GetAccountsAsync(CancellationToken)

Zwraca wszystkie dostępne konta w pamięci podręcznej tokenu użytkownika dla aplikacji.

(Odziedziczone po ClientApplicationBase)
GetAccountsAsync(String, CancellationToken)

IAccount Pobierz kolekcję według identyfikatora między kontami dostępnymi w pamięci podręcznej tokenów na podstawie przepływu użytkownika. Dotyczy to scenariuszy Azure AD B2C.

(Odziedziczone po ClientApplicationBase)
GetAccountsAsync(String)

IAccount Pobierz kolekcję według identyfikatora między kontami dostępnymi w pamięci podręcznej tokenów na podstawie przepływu użytkownika. Dotyczy to scenariuszy Azure AD B2C.

(Odziedziczone po ClientApplicationBase)
GetAuthorizationRequestUrl(IEnumerable<String>)

Oblicza adres URL żądania autoryzacji, dzięki czemu użytkownik loguje się i wyraża zgodę na dostęp do określonych zakresów w nazwie użytkownika. Adres URL jest przeznaczony dla /authorize punktu końcowego urzędu skonfigurowanego w aplikacji. To zastąpienie umożliwia określenie wskazówki logowania i dodatkowego parametru zapytania.

InitiateLongRunningProcessInWebApi(IEnumerable<String>, String, String)

Uzyskuje token dostępu dla tego internetowego interfejsu API z urzędu skonfigurowanego w aplikacji w celu uzyskania dostępu do innego podrzędnego chronionego internetowego interfejsu API w imieniu użytkownika przy użyciu przepływu OAuth 2.0 On-Behalf-Of. Zobacz Long-running OBO in MSAL.NET (Długotrwałe OBO w MSAL.NET). Przekaż token dostępu (nie token identyfikatora), który został użyty do wywołania tej poufnej aplikacji klienckiej w parametrze userToken . Użyj polecenia <seealso cref="M:Microsoft. Identity.Client.Extensibility.ConfidentialClientApplicationExtensions.StopLongRunningProcessInWebApiAsync(Microsoft. Identity.Client.ILongRunningWebApi, System.String, System.Threading.CancellationToken)"></seealso>, aby zatrzymać długotrwały proces i usunąć skojarzone tokeny z pamięci podręcznej.

RemoveAsync(IAccount, CancellationToken)

Usuwa wszystkie tokeny w pamięci podręcznej dla określonego konta.

(Odziedziczone po ClientApplicationBase)
RemoveAsync(IAccount)

Usuwa wszystkie tokeny w pamięci podręcznej dla określonego konta.

(Odziedziczone po ClientApplicationBase)
StopLongRunningProcessInWebApiAsync(String, CancellationToken)

Zatrzymuje długotrwałą sesję w toku przez usunięcie tokenów skojarzonych z podanym kluczem pamięci podręcznej. Zobacz Long-running OBO in MSAL.NET (Długotrwałe OBO w MSAL.NET).

Jawne implementacje interfejsu

Nazwa Opis
IByRefreshToken.AcquireTokenByRefreshToken(IEnumerable<String>, String)

Klasa do użycia w przypadku poufnych aplikacji klienckich (aplikacji internetowych, internetowych interfejsów API i aplikacji demona).

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

Uzyskuje token w imieniu użytkownika przy użyciu asercji poświadczeń tożsamości federacyjnej. W tym celu jest używany user_fic typ udzielania. Użytkownik jest identyfikowany przez identyfikator obiektu (OID).

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

Uzyskuje token w imieniu użytkownika przy użyciu asercji poświadczeń tożsamości federacyjnej. W tym celu jest używany user_fic typ udzielania. Użytkownik jest identyfikowany przez nazwę UPN.

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

Uzyskuje token bez interakcji użytkownika przy użyciu uwierzytelniania nazwy użytkownika i hasła. Ta metoda nie wyszukuje w pamięci podręcznej tokenów, ale przechowuje wynik. Przed wywołaniem tej metody użyj innych metod, takich jak AcquireTokenSilent(IEnumerable<String>, IAccount) sprawdzanie pamięci podręcznej tokenów.

Metody rozszerzania

Nazwa Opis
GetCertificate(IConfidentialClientApplication)

Zwraca certyfikat użyty do utworzenia tego ConfidentialClientApplicationelementu , jeśli istnieje.

StopLongRunningProcessInWebApiAsync(ILongRunningWebApi, String, CancellationToken)

Zatrzymuje długotrwałą sesję w toku przez usunięcie tokenów skojarzonych z podanym kluczem pamięci podręcznej. Zobacz Long-running OBO in MSAL.NET (Długotrwałe OBO w MSAL.NET).

Dotyczy