ConfidentialClientApplication class

Ta klasa służy do uzyskiwania tokenów dla poufnych aplikacji klienckich (webApp, webAPI). Poufne aplikacje klienckie będą konfigurować wpisy tajne aplikacji, certyfikaty/aseracje klienta zgodnie z obowiązującymi

Rozszerzenie

Konstruktory

ConfidentialClientApplication(Configuration)

Konstruktor dla klasy ConfidentialClientApplication

Wymagane atrybuty w obiekcie Configuration to:

  • clientID: identyfikator aplikacji aplikacji. Możesz go uzyskać, rejestrując aplikację w naszym portalu rejestracji aplikacji
  • authority: adres URL urzędu dla aplikacji.
  • poświadczenie klienta: musi ustawić klucz tajny klienta, certyfikat lub asercja dla poufnych klientów. Klucz tajny klienta można uzyskać z portalu rejestracji aplikacji.

W usłudze Azure AD urząd jest adresem URL wskazującym formularz https://login.microsoftonline.com/{Enter_the_Tenant_Info_Here}. Jeśli aplikacja obsługuje konta w jednym katalogu organizacyjnym, zastąp wartość "Enter_the_Tenant_Info_Here" wartością Identyfikator dzierżawy lub Nazwa dzierżawy (na przykład contoso.microsoft.com). Jeśli aplikacja obsługuje konta w dowolnym katalogu organizacyjnym, zastąp wartość "Enter_the_Tenant_Info_Here" organizacjom. Jeśli aplikacja obsługuje konta w dowolnym katalogu organizacyjnym i kontach osobistych Microsoft, zastąp wartość "Enter_the_Tenant_Info_Here" wspólną wartością. Aby ograniczyć obsługę tylko do kont osobistych Microsoft, zastąp wartość "Enter_the_Tenant_Info_Here" konsumentami.

W Azure B2C urząd jest w postaci https://{instance}/tfp/{tenant}/{policyName}/ Pełna funkcjonalność B2C będzie dostępna w tej bibliotece w przyszłych wersjach.

Metody

acquireTokenByClientCredential(ClientCredentialRequest)

Uzyskuje tokeny z urzędu dla aplikacji (nie dla użytkownika końcowego).

acquireTokenOnBehalfOf(OnBehalfOfRequest)

Uzyskuje tokeny z urzędu dla aplikacji.

Używany w scenariuszach, w których bieżąca aplikacja jest usługą warstwy środkowej, która została wywołana przy użyciu tokenu reprezentującego użytkownika końcowego. Bieżąca aplikacja może używać tokenu (oboAssertion), aby zażądać innego tokenu w celu uzyskania dostępu do podrzędnego internetowego interfejsu API w imieniu tego użytkownika.

Bieżąca aplikacja warstwy środkowej nie ma interakcji użytkownika w celu uzyskania zgody. Zobacz, jak uzyskać zgodę z góry dla aplikacji warstwy środkowej z tego artykułu. https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-on-behalf-of-flow#gaining-consent-for-the-middle-tier-application

SetAppTokenProvider(IAppTokenProvider)

Ten punkt rozszerzalności działa tylko dla przepływu client_credential, tj. acquireTokenByClientCredential i jest przeznaczony dla Azure SDK w celu zwiększenia obsługi tożsamości zarządzanych.

Metody dziedziczone

acquireTokenByCode(AuthorizationCodeRequest, AuthorizationCodePayload)

Uzyskuje token przez wymianę kodu autoryzacji otrzymanego z pierwszego kroku przepływu kodu autoryzacji OAuth2.0.

getAuthCodeUrl(AuthorizationCodeUrlRequest) Można użyć do utworzenia adresu URL pierwszego kroku przepływu kodu autoryzacji OAuth2.0. Upewnij się, że wartości identyfikatorów redirectUri i zakresów w polach AuthorizationCodeUrlRequest i AuthorizationCodeRequest są takie same.

acquireTokenByRefreshToken(RefreshTokenRequest)

Uzyskuje token, wymieniając token odświeżania udostępniony dla nowego zestawu tokenów.

Ten interfejs API jest udostępniany tylko w scenariuszach, w których chcesz przeprowadzić migrację z biblioteki ADAL do biblioteki MSAL. W przeciwnym razie zaleca się używanie ich acquireTokenSilent() w scenariuszach dyskretnych. W przypadku używania biblioteki acquireTokenSilent()MSAL będzie automatycznie obsługiwać buforowanie i odświeżanie tokenów.

acquireTokenByUsernamePassword(UsernamePasswordRequest)

Uzyskuje tokeny z przyznawaniem haseł przez wymianę nazwy użytkownika i hasła aplikacji klienckich na potrzeby poświadczeń

Najnowsze najlepsze rozwiązania dotyczące zabezpieczeń protokołu OAuth 2.0 nie zezwalają na całkowite przyznanie hasła. Więcej szczegółów na temat tego zalecenia można znaleźć w https://tools.ietf.org/html/draft-ietf-oauth-security-topics-13#section-3.4 dokumentacji i zaleceniach Microsoft:https://docs.microsoft.com/en-us/azure/active-directory/develop/msal-authentication-flows#usernamepassword

acquireTokenSilent(SilentFlowRequest)

Uzyskuje token w trybie dyskretnym, gdy użytkownik określa konto, dla którego żądany jest token.

Ten interfejs API oczekuje, że użytkownik udostępni obiekt konta i zagląda do pamięci podręcznej, aby pobrać token, jeśli istnieje. Istnieje również opcjonalny element logiczny "forceRefresh", który użytkownik może wysłać, aby pominąć pamięć podręczną dla access_token i id_token. Jeśli refresh_token wygasł lub nie zostanie znaleziony, zostanie zgłoszony błąd, a wskazówki dotyczą użytkownika wywołania dowolnego interaktywnego interfejsu API pozyskiwania tokenu (np. acquireTokenByCode()).

clearCache()

Wyczyść pamięć podręczną

getAuthCodeUrl(AuthorizationUrlRequest)

Tworzy adres URL żądania autoryzacji, umożliwiając użytkownikowi wprowadzanie poświadczeń i wyrażanie zgody na aplikację. Adres URL jest przeznaczony dla /authorize punktu końcowego urzędu skonfigurowanego w obiekcie aplikacji.

Gdy użytkownik wprowadzi swoje poświadczenia i zgody, urząd wyśle odpowiedź do identyfikatora URI przekierowania wysłanego w żądaniu i powinien zawierać kod autoryzacji, który następnie może służyć do uzyskiwania tokenów za pośrednictwem metody acquireTokenByCode(AuthorizationCodeRequest).

getLogger()

Zwraca wystąpienie rejestratora

getTokenCache()

Pobiera pamięć podręczną tokenu dla aplikacji.

setLogger(Logger)

Zamienia domyślny zestaw rejestratora w konfiguracjach na nowy rejestrator z nowymi konfiguracjami

Szczegóły konstruktora

ConfidentialClientApplication(Configuration)

Konstruktor dla klasy ConfidentialClientApplication

Wymagane atrybuty w obiekcie Configuration to:

  • clientID: identyfikator aplikacji aplikacji. Możesz go uzyskać, rejestrując aplikację w naszym portalu rejestracji aplikacji
  • authority: adres URL urzędu dla aplikacji.
  • poświadczenie klienta: musi ustawić klucz tajny klienta, certyfikat lub asercja dla poufnych klientów. Klucz tajny klienta można uzyskać z portalu rejestracji aplikacji.

W usłudze Azure AD urząd jest adresem URL wskazującym formularz https://login.microsoftonline.com/{Enter_the_Tenant_Info_Here}. Jeśli aplikacja obsługuje konta w jednym katalogu organizacyjnym, zastąp wartość "Enter_the_Tenant_Info_Here" wartością Identyfikator dzierżawy lub Nazwa dzierżawy (na przykład contoso.microsoft.com). Jeśli aplikacja obsługuje konta w dowolnym katalogu organizacyjnym, zastąp wartość "Enter_the_Tenant_Info_Here" organizacjom. Jeśli aplikacja obsługuje konta w dowolnym katalogu organizacyjnym i kontach osobistych Microsoft, zastąp wartość "Enter_the_Tenant_Info_Here" wspólną wartością. Aby ograniczyć obsługę tylko do kont osobistych Microsoft, zastąp wartość "Enter_the_Tenant_Info_Here" konsumentami.

W Azure B2C urząd jest w postaci https://{instance}/tfp/{tenant}/{policyName}/ Pełna funkcjonalność B2C będzie dostępna w tej bibliotece w przyszłych wersjach.

new ConfidentialClientApplication(configuration: Configuration)

Parametry

configuration
Configuration

Szczegóły metody

acquireTokenByClientCredential(ClientCredentialRequest)

Uzyskuje tokeny z urzędu dla aplikacji (nie dla użytkownika końcowego).

function acquireTokenByClientCredential(request: ClientCredentialRequest): Promise<null | AuthenticationResult>

Parametry

Zwraca

Promise<null | AuthenticationResult>

acquireTokenOnBehalfOf(OnBehalfOfRequest)

Uzyskuje tokeny z urzędu dla aplikacji.

Używany w scenariuszach, w których bieżąca aplikacja jest usługą warstwy środkowej, która została wywołana przy użyciu tokenu reprezentującego użytkownika końcowego. Bieżąca aplikacja może używać tokenu (oboAssertion), aby zażądać innego tokenu w celu uzyskania dostępu do podrzędnego internetowego interfejsu API w imieniu tego użytkownika.

Bieżąca aplikacja warstwy środkowej nie ma interakcji użytkownika w celu uzyskania zgody. Zobacz, jak uzyskać zgodę z góry dla aplikacji warstwy środkowej z tego artykułu. https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-on-behalf-of-flow#gaining-consent-for-the-middle-tier-application

function acquireTokenOnBehalfOf(request: OnBehalfOfRequest): Promise<null | AuthenticationResult>

Parametry

Zwraca

Promise<null | AuthenticationResult>

SetAppTokenProvider(IAppTokenProvider)

Ten punkt rozszerzalności działa tylko dla przepływu client_credential, tj. acquireTokenByClientCredential i jest przeznaczony dla Azure SDK w celu zwiększenia obsługi tożsamości zarządzanych.

function SetAppTokenProvider(provider: IAppTokenProvider)

Parametry

Szczegóły metody dziedziczonej

acquireTokenByCode(AuthorizationCodeRequest, AuthorizationCodePayload)

Uzyskuje token przez wymianę kodu autoryzacji otrzymanego z pierwszego kroku przepływu kodu autoryzacji OAuth2.0.

getAuthCodeUrl(AuthorizationCodeUrlRequest) Można użyć do utworzenia adresu URL pierwszego kroku przepływu kodu autoryzacji OAuth2.0. Upewnij się, że wartości identyfikatorów redirectUri i zakresów w polach AuthorizationCodeUrlRequest i AuthorizationCodeRequest są takie same.

function acquireTokenByCode(request: AuthorizationCodeRequest, authCodePayLoad?: AuthorizationCodePayload): Promise<AuthenticationResult>

Parametry

authCodePayLoad
AuthorizationCodePayload

Zwraca

Dziedziczone zelementu ClientApplication.acquireTokenByCode

acquireTokenByRefreshToken(RefreshTokenRequest)

Uzyskuje token, wymieniając token odświeżania udostępniony dla nowego zestawu tokenów.

Ten interfejs API jest udostępniany tylko w scenariuszach, w których chcesz przeprowadzić migrację z biblioteki ADAL do biblioteki MSAL. W przeciwnym razie zaleca się używanie ich acquireTokenSilent() w scenariuszach dyskretnych. W przypadku używania biblioteki acquireTokenSilent()MSAL będzie automatycznie obsługiwać buforowanie i odświeżanie tokenów.

function acquireTokenByRefreshToken(request: RefreshTokenRequest): Promise<null | AuthenticationResult>

Parametry

Zwraca

Promise<null | AuthenticationResult>

Dziedziczone zclientApplication.acquireTokenByRefreshToken

acquireTokenByUsernamePassword(UsernamePasswordRequest)

Ostrzeżenie

Ten interfejs API jest już przestarzały.

  • Use a more secure flow instead

Uzyskuje tokeny z przyznawaniem haseł przez wymianę nazwy użytkownika i hasła aplikacji klienckich na potrzeby poświadczeń

Najnowsze najlepsze rozwiązania dotyczące zabezpieczeń protokołu OAuth 2.0 nie zezwalają na całkowite przyznanie hasła. Więcej szczegółów na temat tego zalecenia można znaleźć w https://tools.ietf.org/html/draft-ietf-oauth-security-topics-13#section-3.4 dokumentacji i zaleceniach Microsoft:https://docs.microsoft.com/en-us/azure/active-directory/develop/msal-authentication-flows#usernamepassword

function acquireTokenByUsernamePassword(request: UsernamePasswordRequest): Promise<null | AuthenticationResult>

Parametry

request
UsernamePasswordRequest

UsenamePasswordRequest

Zwraca

Promise<null | AuthenticationResult>

Dziedziczone zclientApplication.acquireTokenByUsernamePassword

acquireTokenSilent(SilentFlowRequest)

Uzyskuje token w trybie dyskretnym, gdy użytkownik określa konto, dla którego żądany jest token.

Ten interfejs API oczekuje, że użytkownik udostępni obiekt konta i zagląda do pamięci podręcznej, aby pobrać token, jeśli istnieje. Istnieje również opcjonalny element logiczny "forceRefresh", który użytkownik może wysłać, aby pominąć pamięć podręczną dla access_token i id_token. Jeśli refresh_token wygasł lub nie zostanie znaleziony, zostanie zgłoszony błąd, a wskazówki dotyczą użytkownika wywołania dowolnego interaktywnego interfejsu API pozyskiwania tokenu (np. acquireTokenByCode()).

function acquireTokenSilent(request: SilentFlowRequest): Promise<AuthenticationResult>

Parametry

Zwraca

Dziedziczone zelementu ClientApplication.acquireTokenSilent

clearCache()

Wyczyść pamięć podręczną

function clearCache()

Dziedziczone zclientApplication.clearCache

getAuthCodeUrl(AuthorizationUrlRequest)

Tworzy adres URL żądania autoryzacji, umożliwiając użytkownikowi wprowadzanie poświadczeń i wyrażanie zgody na aplikację. Adres URL jest przeznaczony dla /authorize punktu końcowego urzędu skonfigurowanego w obiekcie aplikacji.

Gdy użytkownik wprowadzi swoje poświadczenia i zgody, urząd wyśle odpowiedź do identyfikatora URI przekierowania wysłanego w żądaniu i powinien zawierać kod autoryzacji, który następnie może służyć do uzyskiwania tokenów za pośrednictwem metody acquireTokenByCode(AuthorizationCodeRequest).

function getAuthCodeUrl(request: AuthorizationUrlRequest): Promise<string>

Parametry

Zwraca

Promise<string>

Dziedziczone zelementu ClientApplication.getAuthCodeUrl

getLogger()

Zwraca wystąpienie rejestratora

function getLogger(): Logger

Zwraca

Dziedziczone zclientApplication.getLogger

getTokenCache()

Pobiera pamięć podręczną tokenu dla aplikacji.

function getTokenCache(): TokenCache

Zwraca

Dziedziczone zclientApplication.getTokenCache

setLogger(Logger)

Zamienia domyślny zestaw rejestratora w konfiguracjach na nowy rejestrator z nowymi konfiguracjami

function setLogger(logger: Logger)

Parametry

logger
Logger

Wystąpienie rejestratora

Dziedziczone zclientApplication.setLogger