Memecahkan masalah autentikasi Identitas Agen

Dokumen ini menjelaskan cara menyelesaikan error umum Autentikasi menggunakan Identitas Agen dengan pengelola autentikasi.

Ketidakcocokan URI pengalihan

Jika Anda menerima error redirect URI mismatch dari aplikasi pihak ketiga selama alur OAuth, pastikan URI pengalihan yang terdaftar di portal developer pihak ketiga sama persis dengan URI yang dihasilkan oleh pengelola autentikasi.

Untuk menemukan URI pengalihan yang dibuat, lihat detail penyedia autentikasi di konsolGoogle Cloud atau jalankan perintah gcloud berikut:

gcloud alpha agent-identity connectors describe AUTH_PROVIDER_NAME \
    --location="LOCATION"

Peran pengguna tidak ada

Jika agen Anda tidak dapat menggunakan penyedia auth, pastikan identitas agen memiliki peran roles/iamconnectors.user di resource penyedia auth.

Masalah endpoint penerbit

Untuk penyedia OIDC, pastikan endpoint penerbit dapat diakses secara publik dan mendukung dokumen penemuan .well-known/openid-configuration.

Jika Google Cloud tidak dapat mengambil metadata OIDC atau JWKS, pastikan endpoint tidak berada di belakang firewall atau jaringan terbatas.

Error 401 UNAUTHENTICATED

Jika agen Anda tidak dapat melakukan autentikasi dan Anda melihat error berikut, hal ini mungkin disebabkan oleh kebijakan Akses Kontekstual yang dikelola Google yang menerapkan pengikatan mTLS dan bukti kriptografi DPoP:

{
  "error": {
    "code": 401,
    "message": "Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.",
    "status": "UNAUTHENTICATED"
  }
}

Anda dapat memilih untuk tidak menggunakan kebijakan Akses Kontekstual default ini jika Anda memiliki persyaratan berbagi token tertentu, atau jika Anda perlu menyisipkan token langsung di header. Untuk menonaktifkan, tetapkan variabel lingkungan berikut saat Anda men-deploy agen:

config={
  "env_vars": {
    "GOOGLE_API_PREVENT_AGENT_TOKEN_SHARING_FOR_GCP_SERVICES": False,
  }
}

Langkah berikutnya