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
| Public |
Ważne atrybuty w obiekcie Konfiguracji dla uwierzytelniania to:
Władze usługi AAD mają formę
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
| acquire |
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ń. |
| acquire |
Uzyskuje token interaktywnie za pośrednictwem przeglądarki, żądając kodu autoryzacji, a następnie wymieniając go dla tokenu. |
| acquire |
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. |
| get |
Zwraca wszystkie buforowane konta dla tej aplikacji. Jeśli broker jest włączony, to żądanie będzie obsługiwane przez brokera. |
| sign |
Usuwa artefakty pamięci podręcznej skojarzone z danym kontem |
Metody dziedziczone
| acquire |
Uzyskuje token przez wymianę kodu autoryzacji otrzymanego z pierwszego kroku przepływu kodu autoryzacji OAuth2.0.
|
| acquire |
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 |
| acquire |
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 |
| clear |
Wyczyść pamięć podręczną |
| get |
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 |
| get |
Zwraca wystąpienie rejestratora |
| get |
Pobiera pamięć podręczną tokenu dla aplikacji. |
| set |
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
- request
- DeviceCodeRequest
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
- request
- InteractiveRequest
Zwraca
Promise<AuthenticationResult>
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
Promise<AuthenticationResult>
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
- request
- AuthorizationCodeRequest
- authCodePayLoad
- AuthorizationCodePayload
Zwraca
Promise<AuthenticationResult>
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
- request
- RefreshTokenRequest
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()
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
- request
- AuthorizationUrlRequest
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