Udostępnij za pomocą


Rozwiązywanie problemów z uwierzytelnianiem środowiska deweloperskiego

Ten artykuł zawiera wskazówki dotyczące rozwiązywania problemów napotkanych podczas uwierzytelniania zestawu Azure SDK dla aplikacji Java działających lokalnie na maszynach deweloperskich przy użyciu różnych TokenCredential implementacji. Aby uzyskać więcej informacji, zobacz Uwierzytelnianie platformy Azure w środowiskach programistycznych Java.

Rozwiązywanie problemów z usługą AzureCliCredential

Kiedy używasz , możesz opcjonalnie zastosować try/catch dla . W poniższej tabeli przedstawiono błędy wskazujące ten wyjątek oraz metody ograniczania ryzyka:

Komunikat o błędzie opis Ograniczanie ryzyka
Azure CLI not installed Interfejs wiersza polecenia platformy Azure nie został zainstalowany lub nie można go odnaleźć. — Upewnij się, że Azure CLI zostało poprawnie zainstalowane.
— Sprawdź, czy lokalizacja instalacji została dodana do zmiennej środowiskowej PATH.
Please run 'az login' to set up account Żadne konto nie jest obecnie zalogowane do interfejsu wiersza polecenia platformy Azure lub logowanie wygasło. — Zaloguj się do terminalu Azure za pomocą polecenia "az login". Aby uzyskać więcej informacji, zobacz Logowanie się przy użyciu interfejsu wiersza polecenia platformy Azure.
— Sprawdź, czy interfejs wiersza polecenia platformy Azure może uzyskać tokeny. Aby uzyskać więcej informacji, zobacz następną sekcję.

Sprawdź, czy Azure CLI może uzyskać tokeny

Możesz ręcznie sprawdzić, czy Terminal platformy Azure został prawidłowo uwierzytelniony i czy można zdobywać tokeny. Najpierw użyj następującego polecenia, aby sprawdzić, czy konto jest obecnie zalogowane do interfejsu wiersza polecenia platformy Azure:

az account show

Po zweryfikowaniu, że interfejs wiersza polecenia platformy Azure używa poprawnego konta, użyj następującego polecenia, aby sprawdzić, czy jest w stanie uzyskać tokeny dla tego konta:

az account get-access-token \
    --output json \
    --resource https://management.core.windows.net

Ostrzeżenie

Dane wyjściowe tego polecenia zawierają prawidłowy token dostępu. Aby uniknąć naruszenia zabezpieczeń konta, nie udostępniaj tego tokenu dostępu.

Rozwiązywanie problemów z usługą AzureDeveloperCliCredential

Kiedy używasz , możesz opcjonalnie zastosować try/catch dla . W poniższej tabeli przedstawiono błędy wskazujące ten wyjątek oraz metody ograniczania ryzyka:

Komunikat o błędzie opis Ograniczanie ryzyka
Azure Developer CLI not installed Interfejs wiersza polecenia dla deweloperów platformy Azure nie jest zainstalowany lub nie można go odnaleźć. — Upewnij się, że poprawnie zainstalowałeś Azure Developer CLI.
— Sprawdź, czy lokalizacja instalacji została dodana do zmiennej środowiskowej PATH.
Please run 'azd auth login' to set up account Żadne konto nie jest obecnie zalogowane do interfejsu wiersza polecenia dewelopera platformy Azure lub logowanie wygasło. — Zaloguj się do Azure Developer CLI za pomocą polecenia azd auth login.
— Sprawdź, czy interfejs wiersza polecenia dewelopera platformy Azure może uzyskać tokeny. Aby uzyskać więcej informacji, zobacz następną sekcję.

Sprawdź, czy interfejs wiersza polecenia dewelopera platformy Azure może uzyskać tokeny

Możesz ręcznie sprawdzić, czy Azure Developer CLI został prawidłowo uwierzytelniony i czy można uzyskać tokeny. Najpierw użyj następującego polecenia, aby sprawdzić, czy konto jest obecnie zalogowane do interfejsu wiersza polecenia dewelopera platformy Azure:

azd config list

Po zweryfikowaniu, że interfejs wiersza polecenia dewelopera platformy Azure używa poprawnego konta, możesz użyć następującego polecenia, aby sprawdzić, czy jest w stanie uzyskać tokeny dla tego konta:

azd auth token --output json --scope https://management.core.windows.net/.default

Ostrzeżenie

Dane wyjściowe tego polecenia zawierają prawidłowy token dostępu. Aby uniknąć naruszenia zabezpieczeń konta, nie udostępniaj tego tokenu dostępu.

Rozwiązywanie problemów z AzurePowerShellCredential

Kiedy używasz , możesz opcjonalnie zastosować try/catch dla . W poniższej tabeli przedstawiono błędy wskazujące ten wyjątek oraz metody ograniczania ryzyka:

Komunikat o błędzie opis Ograniczanie ryzyka
PowerShell isn't installed. Nie znaleziono lokalnej instalacji programu PowerShell. Upewnij się, że PowerShell został poprawnie zainstalowany na maszynie.
Az.Account module >= 2.2.0 isn't installed. Moduł Az.Account potrzebny do uwierzytelniania w Azure PowerShell nie jest zainstalowany. Zainstaluj najnowszy Az.Account moduł. Aby uzyskać więcej informacji, zobacz Jak zainstalować Azure PowerShell.
Please run 'Connect-AzAccount' to set up account. Żadne konto nie jest obecnie zalogowane do programu Azure PowerShell. Zaloguj się do Azure PowerShell, używając polecenia Connect-AzAccount. Aby uzyskać więcej informacji, zobacz Logowanie się przy użyciu programu Azure PowerShell
— Sprawdź, czy program Azure PowerShell może uzyskać tokeny. Aby uzyskać więcej informacji, zobacz następną sekcję.

Sprawdź, czy program Azure PowerShell może uzyskać tokeny

Możesz ręcznie sprawdzić, czy prawidłowo uwierzytelniono program Azure PowerShell i uzyskać tokeny. Najpierw użyj następującego polecenia, aby sprawdzić, czy konto jest obecnie zalogowane do interfejsu wiersza polecenia platformy Azure:

Get-AzContext

To polecenie generuje dane wyjściowe podobne do następującego przykładu:

Name                                     Account             SubscriptionName    Environment         TenantId
----                                     -------             ----------------    -----------         --------
Subscription1 (xxxxxxxx-xxxx-xxxx-xxx... test@outlook.com    Subscription1       AzureCloud          xxxxxxxx-x...

Po zweryfikowaniu, że program Azure PowerShell używa poprawnego konta, możesz użyć następującego polecenia, aby sprawdzić, czy jest w stanie uzyskać tokeny dla tego konta.

Get-AzAccessToken -ResourceUrl "https://management.core.windows.net"

Ostrzeżenie

Dane wyjściowe tego polecenia zawierają prawidłowy token dostępu. Aby uniknąć naruszenia zabezpieczeń konta, nie udostępniaj tego tokenu dostępu.

Rozwiązywanie problemów z programem VisualStudioCodeCredential

Uwaga

Jest to znany problem, gdzie VisualStudioCodeCredential nie działa z wersjami rozszerzenia konta Azure nowszymi niż 0.9.11. Długoterminowe rozwiązanie tego problemu jest w toku. W międzyczasie rozważ uwierzytelnienie za pośrednictwem Azure CLI.

Kiedy używasz , możesz opcjonalnie zastosować try/catch dla . W poniższej tabeli przedstawiono błędy wskazujące ten wyjątek oraz metody ograniczania ryzyka:

Komunikat o błędzie opis Ograniczanie ryzyka
Failed To Read VS Code Credentials</p></p>OR</p>Authenticate via Azure Tools plugin in VS Code W konfiguracji programu VS Code nie znaleziono żadnych informacji o koncie platformy Azure. — Upewnij się, że wtyczka Azure Account została prawidłowo zainstalowana.
— Użyj palety poleceń widoku>, aby wykonać polecenie Azure: Sign In. To polecenie otwiera okno przeglądarki i wyświetla stronę, która umożliwia zalogowanie się na platformie Azure.
— Jeśli masz już zainstalowane rozszerzenie Azure Account i jesteś zalogowany do konta, spróbuj wylogować się i zalogować ponownie. Ta akcja ponownie wypełnia pamięć podręczną i potencjalnie zmniejsza błąd, który napotykasz.
MSAL Interaction Required Exception VisualStudioCodeCredential program mógł odczytać buforowane poświadczenia z pamięci podręcznej, ale token buforowany prawdopodobnie wygasł. Zaloguj się do rozszerzenia Konto Azure za pomocą palety poleceń widoku, aby wykonać komendę Azure: Sign In w środowisku IDE programu VS Code.
ADFS tenant not supported Uwierzytelnianie usługi platformy Azure w programie Visual Studio nie obsługuje obecnie dzierżaw usług ADFS. Użyj poświadczeń z obsługiwanej chmury podczas uwierzytelniania w programie Visual Studio. Aby uzyskać więcej informacji na temat obsługiwanych chmur, zobacz sekcję Chmury narodowe.

Następne kroki

Jeśli wskazówki dotyczące rozwiązywania problemów w tym artykule nie pomogą rozwiązać problemów podczas korzystania z bibliotek klienckich zestawu Azure SDK dla języka Java, zalecamy zgłoszenie problemuw repozytorium GitHub zestawu Azure SDK dla języka Java.