Udostępnij za pośrednictwem


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 klientemSecretCredential

W przypadku korzystania z programu ClientSecretCredentialmożesz opcjonalnie wypróbować/złapać dla elementu ClientAuthenticationException. W poniższej tabeli przedstawiono błędy wskazujące ten wyjątek oraz metody ograniczania ryzyka:

Kod błędu Problem 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ę Tworzenie nowego wpisu tajnego aplikacji w sekcji Tworzenie aplikacji Entra firmy Microsoft i jednostki usługi, która może uzyskiwać dostęp do zasobów.
AADSTS7000222 Podano wygasły klucz tajny klienta. Utwórz nowy wpis tajny klienta przy użyciu witryny Azure Portal. Aby uzyskać więcej informacji, zobacz sekcję Tworzenie nowego wpisu tajnego aplikacji w sekcji Tworzenie aplikacji Entra firmy Microsoft i jednostki usługi, która może uzyskiwać dostęp do zasobów.
AADSTS700016 Określona aplikacja nie została znaleziona w określonej dzierżawie. Upewnij się, że określona clientId wartość i tenantId jest poprawna dla rejestracji aplikacji. W przypadku aplikacji wielodostępnych upewnij się, że administrator dzierżawy dodał aplikację do żądanej dzierżawy. 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

W przypadku korzystania z programu ClientCertificateCredentialmożesz opcjonalnie wypróbować/złapać dla elementu 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 Określona aplikacja nie została znaleziona w określonej dzierżawie. Upewnij się, że określona clientId wartość i tenantId jest poprawna dla rejestracji aplikacji. W przypadku aplikacji wielodostępnych upewnij się, że administrator dzierżawy dodał aplikację do żądanej dzierżawy. 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 klientemAssertionCredential

W przypadku korzystania z programu ClientAssertionCredentialmożesz opcjonalnie wypróbować/złapać dla elementu 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 jest niezgodny z parametrem client_id . Upewnij się, że utworzona asercji JWT ma poprawne wartości określone dla sub ładunku i .issuer Oba te pola powinny być równe clientId. Aby uzyskać informacje o formacie asercji klienta, zobacz Platforma tożsamości Microsoft poświadczenia 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 Platforma tożsamości Microsoft poświadczenia certyfikatu uwierzytelniania aplikacji.

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 problemu w repozytorium GitHub zestawu Azure SDK dla języka Java.