Bagikan melalui


Mengatasi masalah autentikasi principal layanan

Artikel ini menyediakan panduan tentang menangani masalah yang dihadapi saat mengautentikasi aplikasi Azure SDK for Java melalui perwakilan layanan, melalui berbagai TokenCredential implementasi. Untuk informasi selengkapnya, lihat Autentikasi Azure dengan prinsipal layanan.

Memecahkan masalah ClientSecretCredential

Ketika Anda menggunakan ClientSecretCredential, Anda dapat secara opsional mencoba/menangkap untuk ClientAuthenticationException. Tabel berikut menunjukkan kesalahan yang ditunjukkan pengecualian ini, dan metode mitigasi:

Kode kesalahan Masalah Mitigasi
AADSTS7000215 Rahasia klien yang tidak valid disediakan. Pastikan bahwa clientSecret yang disediakan saat membuat kredensial adalah valid. Jika tidak yakin, buat rahasia klien baru menggunakan portal Azure. Untuk informasi selengkapnya, lihat bagian Membuat rahasia aplikasi baru di Buat aplikasi Microsoft Entra dan entitas layanan yang dapat mengakses sumber daya.
AADSTS7000222 Kunci rahasia pelanggan yang telah kedaluwarsa diberikan. Buat rahasia klien baru menggunakan portal Azure. Untuk informasi selengkapnya, lihat bagian Membuat rahasia aplikasi baru di Buat aplikasi Microsoft Entra dan entitas layanan yang dapat mengakses sumber daya.
AADSTS700016 Aplikasi yang ditentukan tidak ditemukan di penyewa yang ditentukan. Pastikan clientId dan tenantId yang ditentukan benar untuk pendaftaran aplikasi Anda. Untuk aplikasi multi-penyewa, pastikan admin penyewa telah menambahkan aplikasi ke penyewa yang diinginkan. Untuk informasi selengkapnya, lihat Membuat aplikasi Microsoft Entra dan perwakilan layanan yang dapat mengakses sumber daya.

Memecahkan Masalah ClientCertificateCredential

Ketika Anda menggunakan ClientCertificateCredential, Anda dapat secara opsional mencoba/menangkap untuk ClientAuthenticationException. Tabel berikut menunjukkan kesalahan yang ditunjukkan pengecualian ini, dan metode mitigasi:

Kode kesalahan Deskripsi Mitigasi
AADSTS700027 Pernyataan klien berisi tanda tangan yang tidak valid. Pastikan Anda telah mengunggah sertifikat yang ditentukan ke pendaftaran aplikasi Microsoft Entra. Untuk informasi selengkapnya, lihat bagian Mengunggah sertifikat tepercaya yang dikeluarkan oleh otoritas penerbit sertifikat dari Membuat aplikasi Microsoft Entra dan perwakilan layanan yang dapat mengakses sumber daya.
AADSTS700016 Aplikasi yang ditentukan tidak ditemukan di penyewa yang ditentukan. Pastikan bahwa yang ditentukan clientId dan tenantId benar untuk pendaftaran aplikasi Anda. Untuk aplikasi multi-penyewa, pastikan admin penyewa telah menambahkan aplikasi ke penyewa yang diinginkan. Untuk informasi selengkapnya, lihat Membuat aplikasi Microsoft Entra dan perwakilan layanan yang dapat mengakses sumber daya.

Memecahkan masalah ClientAssertionCredential

Ketika Anda menggunakan ClientAssertionCredential, Anda dapat secara opsional mencoba/menangkap untuk ClientAuthenticationException. Tabel berikut menunjukkan kesalahan yang ditunjukkan pengecualian ini, dan metode mitigasi:

Kode kesalahan Deskripsi Mitigasi
AADSTS700021 Pengidentifikasi aplikasi pernyataan klien tidak cocok dengan parameter client_id. Pastikan bahwa pernyataan JWT yang dibuat memiliki nilai yang benar yang ditentukan untuk dan dari payload. Kedua bidang ini harus bernilai sama dengan clientId. Untuk format pernyataan klien, lihat kredensial sertifikat autentikasi aplikasi platform identitas Microsoft.
AADSTS700023 Klaim audiens pernyataan klien tidak cocok dengan penerbit Realm. Pastikan bahwa field aud dalam pernyataan JWT yang dibuat memiliki nilai yang benar untuk audience yang ditentukan dalam payload. Atur bidang ini ke https://login.microsoftonline.com/{tenantId}/v2.
AADSTS50027 Token JWT tidak valid atau salah bentuk. Pastikan bahwa token pernyataan JWT dalam format yang valid. Untuk informasi lebih lanjut, lihat Kredensial sertifikat autentikasi aplikasi platform identitas Microsoft.

Langkah berikutnya

Jika panduan pemecahan masalah dalam artikel ini tidak membantu mengatasi masalah ketika Anda menggunakan pustaka klien Azure SDK untuk Java, kami sarankan Anda melaporkan masalah di repositori Azure SDK for Java di GitHub.