PublicClientApplication class

Ta klasa ma służyć do uzyskiwania tokenów dla publicznych aplikacji klienckich (komputery, urządzenia przenośne). Publiczne aplikacje klienckie nie są zaufane do bezpiecznego przechowywania wpisów tajnych aplikacji i dlatego mogą żądać tylko tokenów w nazwie użytkownika.

Rozszerzenie

Konstruktory

PublicClientApplication(Configuration)

Ważne atrybuty w obiekcie Konfiguracji dla uwierzytelniania to:

  • clientID: identyfikator aplikacji aplikacji. Możesz go uzyskać, rejestrując aplikację w naszym portalu rejestracji aplikacji.
  • authority: adres URL urzędu dla aplikacji.

Władze usługi AAD mają formę 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.

Azure urzędy B2C mają postać https://{instance}/{tenant}/{policy}. Każda zasada jest uważana za własną władzę. Należy ustawić wszystkie znane uwierzytelnianie w czasie budowy aplikacji klienckiej.

Władze usług ADFS mają postać https://{instance}/adfs.

Metody

acquireTokenByDeviceCode(DeviceCodeRequest)

Uzyskuje token z urzędu przy użyciu przepływu kodu urządzenia OAuth2.0. Ten przepływ jest przeznaczony dla urządzeń, które nie mają dostępu do przeglądarki lub mają ograniczenia wejściowe. Serwer autoryzacji wystawia obiekt DeviceCode z kodem weryfikacyjnym, kodem użytkownika końcowego i identyfikatorem URI weryfikacji użytkownika końcowego. Obiekt DeviceCode jest dostarczany za pośrednictwem wywołania zwrotnego, a użytkownik końcowy powinien zostać poinstruowany, aby użyć innego urządzenia, aby przejść do identyfikatora URI weryfikacji do poświadczeń wejściowych. Ponieważ klient nie może odbierać żądań przychodzących, sonduje serwer autoryzacji wielokrotnie, dopóki użytkownik końcowy nie ukończy danych wejściowych poświadczeń.

acquireTokenInteractive(InteractiveRequest)

Uzyskuje token interaktywnie za pośrednictwem przeglądarki, żądając kodu autoryzacji, a następnie wymieniając go dla tokenu.

acquireTokenSilent(SilentFlowRequest)

Zwraca token pobrany z pamięci podręcznej lub przez wymianę tokenu odświeżania dla nowego tokenu dostępu. Jeśli broker jest włączony, żądanie tokenu będzie obsługiwane przez brokera.

getAllAccounts()

Zwraca wszystkie buforowane konta dla tej aplikacji. Jeśli broker jest włączony, to żądanie będzie obsługiwane przez brokera.

signOut(SignOutRequest)

Usuwa artefakty pamięci podręcznej skojarzone z danym kontem

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

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

PublicClientApplication(Configuration)

Ważne atrybuty w obiekcie Konfiguracji dla uwierzytelniania to:

  • clientID: identyfikator aplikacji aplikacji. Możesz go uzyskać, rejestrując aplikację w naszym portalu rejestracji aplikacji.
  • authority: adres URL urzędu dla aplikacji.

Władze usługi AAD mają formę 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.

Azure urzędy B2C mają postać https://{instance}/{tenant}/{policy}. Każda zasada jest uważana za własną władzę. Należy ustawić wszystkie znane uwierzytelnianie w czasie budowy aplikacji klienckiej.

Władze usług ADFS mają postać https://{instance}/adfs.

new PublicClientApplication(configuration: Configuration)

Parametry

configuration
Configuration

Szczegóły metody

acquireTokenByDeviceCode(DeviceCodeRequest)

Uzyskuje token z urzędu przy użyciu przepływu kodu urządzenia OAuth2.0. Ten przepływ jest przeznaczony dla urządzeń, które nie mają dostępu do przeglądarki lub mają ograniczenia wejściowe. Serwer autoryzacji wystawia obiekt DeviceCode z kodem weryfikacyjnym, kodem użytkownika końcowego i identyfikatorem URI weryfikacji użytkownika końcowego. Obiekt DeviceCode jest dostarczany za pośrednictwem wywołania zwrotnego, a użytkownik końcowy powinien zostać poinstruowany, aby użyć innego urządzenia, aby przejść do identyfikatora URI weryfikacji do poświadczeń wejściowych. Ponieważ klient nie może odbierać żądań przychodzących, sonduje serwer autoryzacji wielokrotnie, dopóki użytkownik końcowy nie ukończy danych wejściowych poświadczeń.

function acquireTokenByDeviceCode(request: DeviceCodeRequest): Promise<null | AuthenticationResult>

Parametry

Zwraca

Promise<null | AuthenticationResult>

acquireTokenInteractive(InteractiveRequest)

Uzyskuje token interaktywnie za pośrednictwem przeglądarki, żądając kodu autoryzacji, a następnie wymieniając go dla tokenu.

function acquireTokenInteractive(request: InteractiveRequest): Promise<AuthenticationResult>

Parametry

Zwraca

acquireTokenSilent(SilentFlowRequest)

Zwraca token pobrany z pamięci podręcznej lub przez wymianę tokenu odświeżania dla nowego tokenu dostępu. Jeśli broker jest włączony, żądanie tokenu będzie obsługiwane przez brokera.

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

Parametry

request
SilentFlowRequest

dla deweloperów udostępnionych w usłudze SilentFlowRequest

Zwraca

getAllAccounts()

Zwraca wszystkie buforowane konta dla tej aplikacji. Jeśli broker jest włączony, to żądanie będzie obsługiwane przez brokera.

function getAllAccounts(): Promise<AccountInfo[]>

Zwraca

Promise<AccountInfo[]>

signOut(SignOutRequest)

Usuwa artefakty pamięci podręcznej skojarzone z danym kontem

function signOut(request: SignOutRequest): Promise<void>

Parametry

request
SignOutRequest

deweloper dostarczył signOutRequest

Zwraca

Promise<void>

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

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