Uwierzytelnianie platformy Azure przy użyciu poświadczeń użytkownika
W tym artykule opisano, jak biblioteka tożsamości platformy Azure obsługuje uwierzytelnianie tokenu entra firmy Microsoft przy użyciu poświadczeń dostarczonych przez użytkownika. Ta obsługa jest możliwa za pomocą zestawu implementacji TokenCredential omówionych w tym artykule.
W tym artykule omówiono następujące tematy:
- Poświadczenia kodu urządzenia
- Poświadczenia interakcyjnej przeglądarki
- Poświadczenia hasła nazwy użytkownika
Aby rozwiązać problemy z uwierzytelnianiem poświadczeń użytkownika, zobacz Rozwiązywanie problemów z uwierzytelnianiem poświadczeń użytkownika.
Poświadczenia kodu urządzenia
Poświadczenie kodu urządzenia interaktywnie uwierzytelnia użytkownika na urządzeniach przy użyciu ograniczonego interfejsu użytkownika. Działa to przez monitowanie użytkownika o wizytę adresu URL logowania na maszynie z obsługą przeglądarki, gdy aplikacja próbuje się uwierzytelnić. Następnie użytkownik wprowadza kod urządzenia wymieniony w instrukcjach wraz z poświadczeniami logowania. Po pomyślnym uwierzytelnieniu aplikacja, która zażądała uwierzytelnienia, zostanie pomyślnie uwierzytelniona na urządzeniu, na którym jest uruchomiona.
Aby uzyskać więcej informacji, zobacz Platforma tożsamości Microsoft i przepływ udzielania autoryzacji urządzenia OAuth 2.0.
Włączanie aplikacji dla przepływu kodu urządzenia
Aby uwierzytelnić użytkownika za pośrednictwem przepływu kodu urządzenia, wykonaj następujące czynności:
- Przejdź do pozycji Microsoft Entra ID w witrynie Azure Portal i znajdź rejestrację aplikacji.
- Przejdź do sekcji Uwierzytelnianie .
- W obszarze Sugerowane identyfikatory URI przekierowania sprawdź identyfikator URI kończący się ciągiem
/common/oauth2/nativeclient
. - W obszarze Domyślny typ klienta wybierz wartość
yes
.Treat application as a public client
Te kroki umożliwiają aplikacji uwierzytelnianie, ale nadal nie ma uprawnień do logowania się do identyfikatora Entra firmy Microsoft ani uzyskiwania dostępu do zasobów w Twoim imieniu. Aby rozwiązać ten problem, przejdź do pozycji Uprawnienia interfejsu API i włącz program Microsoft Graph i zasoby, do których chcesz uzyskać dostęp, na przykład key vault.
Musisz również być administratorem dzierżawy, aby wyrazić zgodę na aplikację podczas pierwszego logowania.
Jeśli nie możesz skonfigurować opcji przepływu kodu urządzenia w identyfikatorze Entra firmy Microsoft, może to wymagać, aby aplikacja była wielodostępna. Aby ustawić aplikację w wielu dzierżawach, przejdź do panelu Uwierzytelnianie , a następnie wybierz pozycję Konta w dowolnym katalogu organizacyjnym. Następnie wybierz pozycję Tak w polu Traktuj aplikację jako klienta publicznego.
Uwierzytelnianie konta użytkownika za pomocą przepływu kodu urządzenia
W poniższym przykładzie pokazano uwierzytelnianie SecretClient
z biblioteki klienta wpisu tajnego usługi Azure Key Vault dla języka Java przy użyciu DeviceCodeCredential
elementu na urządzeniu IoT.
/**
* Authenticate with device code credential.
*/
DeviceCodeCredential deviceCodeCredential = new DeviceCodeCredentialBuilder()
.challengeConsumer(challenge -> {
// Lets the user know about the challenge.
System.out.println(challenge.getMessage());
}).build();
// Azure SDK client builders accept the credential as a parameter.
SecretClient client = new SecretClientBuilder()
.vaultUrl("https://<your Key Vault name>.vault.azure.net")
.credential(deviceCodeCredential)
.buildClient();
Poświadczenia interakcyjnej przeglądarki
To poświadczenie interaktywnie uwierzytelnia użytkownika przy użyciu domyślnej przeglądarki systemowej i oferuje bezproblemowe środowisko uwierzytelniania, umożliwiając uwierzytelnianie aplikacji przy użyciu własnych poświadczeń.
Włączanie aplikacji dla przepływu OAuth 2 przeglądarki interakcyjnej
Aby użyć InteractiveBrowserCredential
usługi , musisz zarejestrować aplikację w identyfikatorze Entra firmy Microsoft z uprawnieniami do logowania się w imieniu użytkownika. Wykonaj poprzednie kroki przepływu kodu urządzenia, aby zarejestrować aplikację. Jak wspomniano wcześniej, administrator dzierżawy musi wyrazić zgodę na aplikację, zanim każde konto użytkownika będzie mogły się zalogować.
W pliku może być InteractiveBrowserCredentialBuilder
wymagany adres URL przekierowania. Dodaj adres URL przekierowania do podsekcji Identyfikatory URI przekierowania w sekcji Uwierzytelnianie zarejestrowanej aplikacji firmy Microsoft Entra.
Interakcyjne uwierzytelnianie konta użytkownika w przeglądarce
W poniższym przykładzie pokazano uwierzytelnianie SecretClient
z biblioteki klienta azure-security-keyvault-secrets przy użyciu polecenia InteractiveBrowserCredential
.
/**
* Authenticate interactively in the browser.
*/
InteractiveBrowserCredential interactiveBrowserCredential = new InteractiveBrowserCredentialBuilder()
.clientId("<your app client ID>")
.redirectUrl("YOUR_APP_REGISTERED_REDIRECT_URL")
.build();
// Azure SDK client builders accept the credential as a parameter.
SecretClient client = new SecretClientBuilder()
.vaultUrl("https://<your Key Vault name>.vault.azure.net")
.credential(interactiveBrowserCredential)
.buildClient();
Poświadczenia hasła nazwy użytkownika
Program UsernamePasswordCredential
ułatwia uwierzytelnianie publicznej aplikacji klienckiej przy użyciu poświadczeń użytkownika, które nie wymagają uwierzytelniania wieloskładnikowego. W poniższym przykładzie pokazano uwierzytelnianie SecretClient
z biblioteki klienta azure-security-keyvault-secrets przy użyciu polecenia UsernamePasswordCredential
. Użytkownik nie może mieć włączonego uwierzytelniania wieloskładnikowego.
/**
* Authenticate with username, password.
*/
UsernamePasswordCredential usernamePasswordCredential = new UsernamePasswordCredentialBuilder()
.clientId("<your app client ID>")
.username("<your username>")
.password("<your password>")
.build();
// Azure SDK client builders accept the credential as a parameter.
SecretClient client = new SecretClientBuilder()
.vaultUrl("https://<your Key Vault name>.vault.azure.net")
.credential(usernamePasswordCredential)
.buildClient();
Aby uzyskać więcej informacji, zobacz Platforma tożsamości Microsoft i poświadczenia hasła właściciela zasobu OAuth 2.0.
Następne kroki
W tym artykule opisano uwierzytelnianie przy użyciu poświadczeń użytkownika. Ta forma uwierzytelniania jest jednym z wielu sposobów uwierzytelniania w zestawie Azure SDK dla języka Java. W poniższych artykułach opisano inne sposoby:
- Uwierzytelnianie platformy Azure w środowiskach deweloperskich
- Uwierzytelnianie aplikacji hostowanych na platformie Azure
- Uwierzytelnianie przy użyciu jednostek usługi
Jeśli wystąpią problemy związane z uwierzytelnianiem poświadczeń użytkownika, zobacz Rozwiązywanie problemów z uwierzytelnianiem poświadczeń użytkownika.
Po opanowaniu uwierzytelniania zobacz Konfigurowanie rejestrowania w zestawie Azure SDK dla języka Java , aby uzyskać informacje na temat funkcji rejestrowania udostępnianych przez zestaw SDK.