Menggunakan acurl

Anda sedang melihat dokumentasi Apigee Edge.
Buka dokumentasi Apigee X.
info

Utilitas acurl(1) menyediakan wrapper praktis di sekitar perintah curl standar. acurl:

  • Menukar kredensial Apigee Anda dengan token akses OAuth2.
  • Mendeteksi kapan masa berlaku token akses berakhir, dan menggunakan token refresh untuk mendapatkan token akses baru.
  • Meneruskan token tersebut di header Authorization permintaan API.

Anda menggunakan token akses untuk memanggil endpoint Edge API dengan OAuth2, termasuk Alur kerja LDAP dan SAML.

Jika menggunakan OAuth2 untuk mengakses Edge API, tetapi tidak menggunakan acurl, Anda harus mendapatkan token akses dan menambahkannya ke header permintaan API sendiri. Salah satu cara untuk mendapatkan token akses adalah dengan utilitas get_token.

Menginstal acurl

Sebelum dapat menggunakan acurl, Anda harus instal.

sintaksis acurl

Utilitas acurl menggunakan sintaksis berikut:

acurl API_URL -u USERNAME:PASSWORD [-m MFACODE]

atau

acurl API_URL -p PASSCODE

Dengan keterangan:

Opsi Diperlukan? Deskripsi
API_URL Wajib Endpoint Apigee Edge API. Untuk mengetahui daftar lengkap endpoint, lihat Referensi API Apigee Edge.
USERNAME Opsional. Kombinasi nama pengguna dan sandi atau kode sandi diperlukan. Nama pengguna Apigee Anda, biasanya adalah alamat email yang terkait dengan akun Apigee Anda. Anda harus meneruskan nama pengguna atau kode sandi saat pertama kali memanggil get_token. Anda tidak perlu memasukkan alamat email lagi hingga token akses dan refresh berakhir masa berlakunya. Jika menyimpan token dalam cache untuk lebih dari satu pengguna, Anda harus menentukan nama pengguna dalam setiap panggilan.
PASSWORD Opsional. Kombinasi nama pengguna dan sandi atau kode sandi diperlukan. Sandi untuk akun Apigee Anda. Jika Anda menghilangkan {i>password<i}, Anda akan diminta untuk masukkan saat pertama kali Anda menggunakan acurl dan pada panggilan berikutnya tanpa token refresh. Jika Anda tidak ingin menggunakan {i>password<i} Anda secara langsung di dalam perintah, Anda dapat menggunakan kode sandi sekali pakai alih-alih {i>password<i} Anda.
MFACODE Opsional Enam digit sementara multi-faktor kode autentikasi (MFA). Kode ini diperlukan jika Anda menggunakan -u dan mengaktifkan MFA. Anda akan diminta jika dihilangkan (kecuali dalam mode kode sandi). Jika Anda tidak mengaktifkan MFA, atau memiliki alur dengan skrip, Anda dapat menentukan -m "" untuk menghindari dialog.
PASSCODE Opsional. Kombinasi nama pengguna dan sandi atau kode sandi diperlukan. Kode sandi sekali pakai yang dapat Anda gunakan sebagai pengganti {i>password<i}. Kode sandi diperlukan saat mengautentikasi dengan IdP SAML, dan dapat digunakan untuk mengautentikasi dengan IdP LDAP.

Contoh:

acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval
acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval -u ahamilton@apigee.com
acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval -u ahamilton@apigee.com -p 424242
acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval -u ahamilton@apigee.com:mypassw0rd
acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval -u ahamilton@apigee.com:mypassw0rd -m 123456

Selain opsi yang ditampilkan di atas, acurl menerima semua curl lainnya. Misalnya, Anda dapat meneruskan header, menentukan kata kerja HTTP, menambahkan isi, dan mengaktifkan panjang menggunakan opsi curl standar:

Opsi acurl meaning curl meaning
-u username username
-m MFA code max time (harus menggunakan format panjang --max-time)
-p passcode proxy tunnel (harus menggunakan format panjang --proxytunnel)
-v verbose verbose
-h help help (harus menggunakan format panjang --help)
acurl -v -X POST -H 'Content-Type: application/json' \
    https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval/apiproducts/myproduct/attributes/attr \
    -u ahamilton@apigee.com -d '{"value":42}'

Panggilan acurl yang berhasil akan menampilkan hasil berdasarkan endpoint Edge API yang Anda panggil. Selain itu, acurl menyimpan token akses dan refresh dalam ~/.sso-cli.

Anda dapat terus melakukan panggilan tanpa memasukkan kredensial (sandi dan MFA opsional, atau kode sandi) hingga token akses dan token refresh berakhir masa berlakunya, seperti yang dijelaskan dalam Masa berlaku token.

Bermigrasi dari curl

Jika Anda menggunakan curl, migrasi ke utilitas acurl akan mudah dan tidak perlu mengenkode kredensial secara manual. Setelah mendownload dan menginstal utilitas, Anda dapat mengganti:

curl -u username
dengan:
acurl -u username

Utilitas acurl akan mengenkode kredensial Anda dan sesekali meminta kredensial tambahan yang diperlukan untuk mendapatkan pasangan token baru.

Utilitas acurl juga dapat digunakan untuk menggantikan curl bagi pengguna mesin. Untuk informasi selengkapnya, lihat OAuth2 untuk pengguna mesin dan Pengguna mesin di zona SAML.

Memanggil acurl untuk pertama kalinya

Saat pertama kali memanggil API dengan acurl, Anda memberikan kredensial Apigee (nama pengguna dan sandi akun Apigee, atau kode sandi) sehingga acurl dapat menukarnya dengan token akses dan token refresh.

Contoh berikut menunjukkan panggilan awal dengan acurl untuk mendapatkan detail tentang organisasi menggunakan endpoint Get organization:

acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval \
  -u ahamilton@apigee.com
Enter the password for user 'ahamilton@apigee.com':
[hidden input]
Enter the six-digit code (no spaces) if 'ahamilton@apigee.com' is MFA-enabled or press ENTER:
1a2b3c
{
  "createdAt" : 1491854501264,
  "createdBy" : "noreply_iops@apigee.com",
  "displayName" : "ahamilton",
  "environments" : [ "prod", "test" ],
  "lastModifiedAt" : 1491854501264,
  "lastModifiedBy" : "noreply_iops@apigee.com",
  "name" : "ahamilton",
  "properties" : {
    "property" : [ {
      "name" : "features.isSmbOrganization",
      "value" : "false"
    }, {
      "name" : "features.isCpsEnabled",
      "value" : "true"
    } ]
  },
  "type" : "trial"
}

Utilitas acurl mendapatkan token akses dan memasukkannya ke dalam panggilan ke Endpoint API Edge:

curl -H "Authorization: Bearer oauth2_access_token" ...

Token akses disimpan secara lokal di ~/.sso-cli dan digunakan untuk panggilan berikutnya.

Setelah masa berlaku token akses berakhir, acurl otomatis menggunakan token refresh untuk mendapatkan token akses baru. Saat masa berlaku token refresh berakhir, acurl akan meminta kredensial Apigee Anda.

Permintaan ini mendapatkan detail tentang organisasi "ahamilton-eval". Untuk mengetahui daftar lengkap endpoint Edge API, lihat Referensi API Apigee Edge.


(1) Hak Cipta 2023 Google LLC
Alat acurl tersedia sebagai "Software" berdasarkan perjanjian yang mengatur penggunaan Anda atas Google Cloud Platform, termasuk Persyaratan Khusus Layanan yang tersedia di https://cloud.google.com/terms/service-terms.