Udostępnij za pomocą


Rozwiązywanie problemów z uwierzytelnianiem jednostki usługi

Ten artykuł zawiera wskazówki dotyczące rozwiązywania problemów napotkanych podczas uwierzytelniania zestawu Azure SDK dla aplikacji Java za pośrednictwem jednostki usługi za pośrednictwem różnych TokenCredential implementacji. Aby uzyskać więcej informacji, zobacz Uwierzytelnianie platformy Azure za pomocą jednostki usługi.

Rozwiązywanie problemów z ClientSecretCredential

Używając ClientSecretCredential, możesz opcjonalnie zastosować blok try/catch dla ClientAuthenticationException. W poniższej tabeli przedstawiono błędy wskazujące ten wyjątek oraz metody ograniczania ryzyka:

Kod błędu Kwestia Ograniczanie ryzyka
AADSTS7000215 Podano nieprawidłowy klucz tajny klienta. Upewnij się, że wartość podana clientSecret podczas konstruowania poświadczeń jest prawidłowa. Jeśli nie masz pewności, utwórz nowy klucz tajny klienta przy użyciu witryny Azure Portal. Aby uzyskać więcej informacji, zobacz sekcję Utwórz nowy sekret aplikacji w sekcji Tworzenie aplikacji Microsoft Entra i jednostki usługi, która może uzyskiwać dostęp do zasobów.
AADSTS7000222 Podano wygasły tajny klucz klienta. Utwórz nowy tajny kod klienta przy użyciu portalu Azure. Aby uzyskać więcej informacji, zobacz sekcję Utwórz nowy sekret aplikacji w sekcji Tworzenie aplikacji Microsoft Entra i jednostki usługi, która może uzyskiwać dostęp do zasobów.
AADSTS700016 Wskazana aplikacja nie została znaleziona we wskazanym dzierżawcy. Upewnij się, że określone clientId i tenantId są poprawne dla rejestracji aplikacji. W przypadku aplikacji wielodostępnych upewnij się, że administrator tenantu dodał aplikację do żądanego tenantu. Aby uzyskać więcej informacji, zobacz Create a Microsoft Entra application and service principal that can access resources (Tworzenie aplikacji i jednostki usługi Firmy Microsoft, która może uzyskiwać dostęp do zasobów).

Rozwiązywanie problemów z elementem ClientCertificateCredential

Używając ClientCertificateCredential, możesz opcjonalnie zastosować blok try/catch dla ClientAuthenticationException. W poniższej tabeli przedstawiono błędy wskazujące ten wyjątek oraz metody ograniczania ryzyka:

Kod błędu opis Ograniczanie ryzyka
AADSTS700027 Potwierdzenie klienta zawiera nieprawidłowy podpis. Upewnij się, że został przekazany określony certyfikat do rejestracji aplikacji Firmy Microsoft Entra. Aby uzyskać więcej informacji, zobacz sekcję Przekazywanie zaufanego certyfikatu wystawionego przez urząd certyfikacji w sekcji Tworzenie aplikacji Microsoft Entra i jednostki usługi, która może uzyskiwać dostęp do zasobów.
AADSTS700016 Wskazana aplikacja nie została znaleziona we wskazanym dzierżawcy. Upewnij się, że wskazane clientId i tenantId są poprawne dla rejestracji aplikacji. W przypadku aplikacji wielodostępnych upewnij się, że administrator tenantu dodał aplikację do żądanego tenantu. Aby uzyskać więcej informacji, zobacz Create a Microsoft Entra application and service principal that can access resources (Tworzenie aplikacji i jednostki usługi Firmy Microsoft, która może uzyskiwać dostęp do zasobów).

Rozwiązywanie problemów z ClientAssertionCredential

Używając ClientAssertionCredential, możesz opcjonalnie zastosować blok try/catch dla ClientAuthenticationException. W poniższej tabeli przedstawiono błędy wskazujące ten wyjątek oraz metody ograniczania ryzyka:

Kod błędu opis Ograniczanie ryzyka
AADSTS700021 Identyfikator aplikacji asercji klienta nie pasuje do parametru client_id. Upewnij się, że utworzona asercja JWT ma poprawne wartości określone dla c0 i c1 wartości ładunku. Oba te pola powinny być równe clientId. Aby uzyskać informacje o formacie asercji klienta, zobacz platforma tożsamości firmy Microsoft dla poświadczeń certyfikatu uwierzytelniania aplikacji.
AADSTS700023 Oświadczenie odbiorców asercji klienta nie jest zgodne z wystawcą obszaru. Upewnij się, że pole odbiorców aud w utworzonej asercji JWT ma prawidłową wartość dla odbiorców określonych w ładunku. Ustaw to pole na https://login.microsoftonline.com/{tenantId}/v2.
AADSTS50027 Token JWT jest nieprawidłowy lub nieprawidłowo sformułowany. Upewnij się, że token asercji JWT jest w prawidłowym formacie. Aby uzyskać więcej informacji, zobacz poświadczenia certyfikatu uwierzytelniania aplikacji platformy tożsamości Microsoft.

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.