Menggunakan Autentikasi Dasar untuk mengakses Edge API

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

Anda dapat menggunakan Autentikasi Dasar untuk mengakses Edge API untuk akun Edge for Cloud Anda. Dengan Autentikasi Dasar, Anda meneruskan kredensial (alamat email dan sandi akun Apigee Anda) di setiap permintaan ke Edge API.

Autentikasi Dasar adalah mekanisme autentikasi yang paling tidak aman dari mekanisme autentikasi yang didukung. Kredensial Anda tidak dienkripsi atau di-hash; kredensial tersebut hanya dienkode Base64. Daripada menggunakan Autentikasi Dasar, Apigee merekomendasikan agar Anda menggunakan OAuth2 atau SAML untuk mengakses Edge API.

Format Autentikasi Dasar

Anda dapat meneruskan kredensial sebagai header berenkode Base64 atau sebagai parameter di klien HTTP.

Saat meneruskan kredensial di header, Anda harus mengenkodenya dengan Base64. Berikut adalah contoh header Autentikasi Dasar HTTP yang dienkode:

Authorization: Basic YWhhbWlsdG9uQGFwaWdlZS5jb206bXlwYXNzdzByZAo

Dengan klien seperti curl, Anda meneruskan kredensial dengan opsi -u, seperti yang ditunjukkan dalam contoh berikut:

curl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval -u email_address:password

curl mengenkode alamat email dan sandi Anda, lalu menambahkannya ke header Authorization permintaan untuk Anda.

Jika Anda tidak memasukkan sandi, Anda akan diminta untuk memasukkannya.

Perhatikan bahwa Anda harus menggunakan alamat email akun Apigee, bukan nama pengguna, dalam panggilan API Edge.

Mengakses Edge API dengan curl

Anda juga dapat menetapkan permintaan header Authorization secara manual saat menggunakan curl untuk mengakses Edge API.

Meskipun curl akan mengenkode kredensial Anda, seperti yang disebutkan di atas, mungkin ada kasus saat Anda tidak ingin memasukkan kredensial yang tidak dienkode dalam histori perintah.

Untuk menetapkan header secara manual dan mengakses Edge API dengan curl:

  1. Enkode Base64 alamat email dan sandi Anda dengan alat seperti base64. Contoh:
      read -es PASS
      echo -n ahamilton@apigee.com:$PASS | base64

    Alat base64 menampilkan string yang dienkode:

    YWhhbWlsdG9uQGFwaWdlZS5jb206bXlwYXNzdzByZAo=
  2. Tambahkan string yang dienkode ke header Authorization dalam permintaan Edge API Anda, seperti yang ditunjukkan dalam contoh berikut:
        read -es PASS
        BASIC=$(echo -n ahamilton@apigee.com:$PASS | base64
        curl -H "Authorization: Basic $BASIC" \
        https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval
        {
        "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"
        }

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

Anda harus menyertakan header Authorization dalam setiap permintaan.

Menonaktifkan Autentikasi Dasar

Anda dapat menonaktifkan Autentikasi Dasar (selama OAuth2 atau SAML diaktifkan) dengan mengirimkan permintaan ke Dukungan Apigee Edge.

Panduan pembuatan skrip

Dalam beberapa situasi, pengumpulan sandi saat skrip berjalan tidak praktis. Misalnya, Anda mungkin perlu menjalankan cron job yang diaktifkan saat tidak ada administrator. Dalam situasi ini, Anda perlu menyediakan sandi untuk skrip tanpa intervensi manusia.

Ikuti pedoman berikut:

  1. Memusatkan kredensial dalam satu file yang digunakan sebagai sumber untuk program dan skrip yang Anda tulis
  2. Lindungi file sumber kredensial sebisa mungkin menggunakan keamanan dan izin sistem file
  3. Buat klien otomatisasi dengan izin yang sangat terbatas pada resource tertentu di organisasi Anda.