Menggunakan IDP eksternal dengan Edge management API

Autentikasi dasar adalah salah satu cara untuk melakukan autentikasi saat melakukan panggilan ke Edge Management API. Misalnya, Anda dapat membuat permintaan curl berikut ke Edge Management API untuk mengakses informasi tentang organisasi Anda:

curl -u USER_NAME:PASSWORD http://MS_IP_DNS:8080/v1/organizations/ORG_NAME

Dalam contoh ini, Anda menggunakan opsi curl -u untuk meneruskan kredensial autentikasi Basic. Atau, Anda dapat meneruskan token OIDC/OAuth2 di header Authorization: Bearer untuk melakukan panggilan API pengelolaan Edge, seperti yang ditunjukkan contoh berikut:

curl -H "Authorization: Bearer ACCESS_TOKEN" http://MS_IP_DNS:8080/v1/organizations/ORG_NAME

Setelah mengaktifkan IDP eksternal untuk autentikasi, Anda dapat menonaktifkan autentikasi Dasar secara opsional. Jika Anda menonaktifkan autentikasi Dasar, semua skrip (seperti Maven, shell, dan apigeetool) yang mengandalkan panggilan API pengelolaan Edge yang mendukung autentikasi Dasar tidak akan berfungsi lagi. Anda harus mengupdate semua panggilan API dan skrip yang menggunakan autentikasi Dasar untuk meneruskan token akses OAuth2 di header Bearer.

Mendapatkan dan memperbarui token dengan get_token

Utilitas get_token menggunakan Alur Kode Perangkat OAuth 2.0 standar untuk mendapatkan token akses dan refresh OIDC/OAuth2. Utilitas akan meminta Anda membuka URL di browser untuk melakukan autentikasi melalui IDP eksternal (atau LDAP lokal), lalu otomatis membuka blokir terminal Anda untuk mencetak token akses yang valid.

Utilitas get_token meng-cache token secara aman di disk dalam ~/.sso-cli/, yang siap digunakan saat diperlukan. Selain itu, kode ini juga mencetak token akses yang valid ke stdout. Jika token yang ada dapat di-refresh, utilitas akan otomatis me-refresh-nya. Jika masa berlaku token refresh habis, token tersebut akan memulai alur otorisasi berbasis browser baru.

Untuk mendapatkan token akses OAuth2 guna melakukan panggilan API pengelolaan Edge:

  1. Utilitas get_token dan acurl telah diinstal sebelumnya di node yang menghosting Apigee SSO (node OpenLDAP) di: /opt/apigee/apigee-openldap/bin/
  2. (Opsional) Tetapkan variabel lingkungan SSO_LOGIN_URL ke URL penerbit SSO Anda, dalam bentuk:
    export SSO_LOGIN_URL="http://EDGE_SSO_IP_DNS:9099"

    Dengan EDGE_SSO_IP_DNS adalah alamat IP atau nama DNS mesin yang menghosting Apigee SSO. Jika Anda mengonfigurasi TLS di Apigee SSO, gunakan https dan nomor port TLS yang benar.

  3. Panggil get_token dengan alamat email Anda untuk memulai Alur Kode Perangkat OAuth 2.0:
    /opt/apigee/apigee-openldap/bin/get_token -u EMAIL_ADDRESS

    Dengan EMAIL_ADDRESS adalah alamat email pengguna Edge.

  4. Utilitas akan dijeda dan mencetak URL serta kode perangkat 8 karakter ke terminal Anda:
    Please visit: http://EDGE_SSO_IP_DNS:9099/device
    And enter code: ABCD-EFGH
  5. Buka URL yang ditentukan di browser Anda, masukkan kode perangkat, lalu klik Submit. Anda akan dialihkan ke IDP eksternal (atau formulir LDAP lokal) untuk melakukan autentikasi dan menyetujui permintaan.
  6. Setelah Anda berhasil melakukan autentikasi di browser, kembali ke terminal Anda. Utilitas get_token akan otomatis mendeteksi persetujuan, mendapatkan token akses OAuth2, mencetaknya ke layar, dan meng-cache-nya dengan aman.
  7. Teruskan token akses ke panggilan Edge Management API menggunakan utilitas acurl, yang secara otomatis membaca token yang di-cache dan menyisipkan header Bearer:
    /opt/apigee/apigee-openldap/bin/acurl http://MS_IP_DNS:8080/v1/organizations/ORG_NAME

    Atau, Anda dapat meneruskan token secara manual menggunakan curl standar:

    curl -H "Authorization: Bearer ACCESS_TOKEN" \
      http://MS_IP_DNS:8080/v1/organizations/ORG_NAME

Menggunakan API pengelolaan untuk mendapatkan dan memperbarui token

Endpoint /passcode lama telah dihapus. Oleh karena itu, pengguna manusia harus menggunakan utilitas get_token seperti yang dijelaskan sebelumnya untuk memulai Alur Kode Perangkat OAuth 2.0 berbasis browser untuk autentikasi awal.

Jika Anda menulis skrip atau pipeline CI/CD yang tidak dapat berinteraksi dengan browser, lihat Mengotomatiskan tugas dengan pengguna mesin. Pengguna atau aplikasi mesin otomatis dengan kredensial yang valid dapat menggunakan panggilan API standar untuk mendapatkan dan memperbarui token.