ConfidentialClientApplication Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
- 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 |
| 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 |
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 |
| AcquireTokenSilent(IEnumerable<String>, IAccount) |
[Interfejs API w wersji 3] Próbuje uzyskać token dostępu dla |
| AcquireTokenSilent(IEnumerable<String>, String) |
[Interfejs API w wersji 3] Próbuje uzyskać token dostępu dla IAccount elementu Username zgodnego z danym |
| 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 |
| 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 |
| 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 |
| 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). |