Menggunakan SAML dengan Edge management API

Basic Auth adalah salah satu cara untuk mengautentikasi 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 userName:pWord https://ms_IP_DNS:8080/v1/organizations/orgName

Dalam contoh ini, Anda menggunakan opsi cURL -u untuk meneruskan kredensial Basic Auth. Cara lain, Anda dapat meneruskan token OAuth2 di header Bearer untuk melakukan panggilan API pengelolaan Edge. Contoh:

curl -H "Authorization: Bearer access_token" https://ms_IP_DNS:8080/v1/organizations/orgName

Setelah mengaktifkan SAML, Anda dapat memilih untuk menonaktifkan Basic Auth. Jika Anda menonaktifkan Basic Auth, semua skrip (skrip Maven, skrip shell, apigeetool, dll.) yang mengandalkan panggilan API pengelolaan Edge yang mendukung Basic Auth tidak lagi berfungsi. Anda harus memperbarui panggilan API dan skrip yang menggunakan Basic Auth untuk meneruskan token akses OAuth2 di header Pemilik.

Menggunakan get_token untuk mendapatkan dan memuat ulang token

Utilitas get_token menukar kredensial Basic Auth Anda dan kode sandi untuk akses OAuth2 dan token refresh. Utilitas get_token menerima kredensial Anda dan mencetak token akses yang valid. Jika dapat dimuat ulang, token akan me-refresh token tersebut dan mencetaknya. Jika masa berlaku token refresh berakhir, token pengguna akan diminta.

Utilitas get_token menyimpan token di disk, yang siap digunakan saat diperlukan. Perintah ini juga mencetak token akses yang valid ke stdout. Dari sana, Anda dapat menggunakan Postman atau menyematkannya dalam variabel lingkungan untuk digunakan dalam curl.

Prosedur berikut menjelaskan cara menggunakan get_token untuk mendapatkan token akses OAuth2 guna melakukan panggilan API pengelolaan Edge:

  1. Download paket sso-cli:
    curl http://edge_sso_IP_DNS:9099/resources/scripts/sso-cli/ssocli-bundle.zip -o "ssocli-bundle.zip"

    dengan edge_sso_IP_DNS adalah alamat IP nama DNS komputer yang menghosting modul SSO Edge. Jika Anda mengonfigurasi TLS di SSO Edge, gunakan https dan nomor port TLS yang benar.

  2. Ekstrak paket ssocli-bundle.zip:
    unzip ssocli-bundle.zip
  3. Instal get_token di /usr/local/bin:
    > ./install Gunakan opsi -b untuk menentukan lokasi yang berbeda: > ./install -b path
  4. Tetapkan variabel lingkungan SSO_LOGIN_URL ke URL login Anda, dalam bentuk:
    export SSO_LOGIN_URL="http://edge_sso_IP_DNS:9099"

    dengan edge_sso_IP_DNS adalah alamat IP nama DNS mesin yang menghosting modul SSO Edge. Jika Anda mengonfigurasi TLS di SSO Edge, gunakan https dan nomor port TLS yang benar.
  5. Di browser, buka URL berikut untuk mendapatkan kode sandi sekali pakai:
    http://edge_sso_IP_DNS:9099/passcode

    Jika Anda mengonfigurasi TLS di SSO Edge, gunakan https dan nomor port TLS yang benar.

    Catatan: Jika saat ini Anda tidak login oleh Penyedia Identitas, Anda akan diminta untuk login.

    URL ini menampilkan kode sandi sekali pakai yang tetap valid hingga Anda memperbarui URL tersebut untuk mendapatkan kode sandi baru, atau Anda menggunakan kode sandi dengan get_token untuk membuat token akses.
  6. Panggil get_token untuk mendapatkan token akses OAuth2:
    > get_token -u emailAddress

    dengan emailAddress adalah alamat email pengguna Edge. Anda akan diminta untuk memasukkan kode sandi sekali pakai yang Anda dapatkan di langkah 3:
    Kode Sekali Pakai ( Dapatkan di https://edge_sso_IP.com/passcode )
    Masukkan kode sandi jika SAML diaktifkan, atau tekan ENTER:


    Masukkan kode sandi. Utilitas get_token memperoleh token akses OAuth2, mencetaknya ke layar, dan menulisnya serta token refresh ke ~/.sso-cli.

    Anda dapat memasukkan kode sandi di command line menggunakan perintah get_token dalam bentuk:
    > get_token -u emailAddress -p kode sandi
  7. Teruskan token akses ke panggilan Edge management API sebagai header Bearer:
    > curl -H "Authorization: Bearer access_token" https://ms_IP:8080/v1/organizations/orgName

    Setelah mendapatkan token akses baru untuk pertama kalinya, Anda dapat memperoleh token akses sebagai token akses yang baru, dan teruskan token akses di bawah token akses.


Setelah masa berlaku token refresh berakhir, get_token akan meminta kode sandi baru. Anda harus membuka URL yang ditampilkan di atas pada Langkah 3 dan membuat kode sandi baru sebelum Anda dapat membuat token akses OAuth baru

Menggunakan API pengelolaan untuk mendapatkan dan memperbarui token

Penggunaan keamanan OAuth2 dengan Apigee Edge Management API berisi petunjuk yang menunjukkan cara menggunakan Edge Management API untuk mendapatkan dan memuat ulang token. Anda juga dapat menggunakan panggilan Edge API untuk token yang dihasilkan dari pernyataan SAML.

Satu-satunya perbedaan antara panggilan API yang didokumentasikan dalam Menggunakan keamanan OAuth2 dengan API pengelolaan Apigee Edge adalah URL panggilan harus merujuk ke nama zona Anda. Selain itu, untuk membuat token akses awal, Anda harus menyertakan kode sandi, seperti yang ditunjukkan pada langkah 3 dari prosedur di atas.

Misalnya, gunakan panggilan API berikut untuk membuat akses awal dan token refresh:

curl -H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" /
-H "accept: application/json;charset=utf-8" /
-H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST /
https://edge_sso_IP_DNS:9099/oauth/token -s /
-d 'grant_type=password&response_type=token&passcode=passcode'  

Untuk otorisasi, teruskan kredensial klien OAuth2 yang dicadangkan di header Authorization. Panggilan tersebut akan mencetak token akses dan refresh ke layar.

Untuk memperbarui token akses di lain waktu, gunakan panggilan berikut yang menyertakan token refresh:

curl -H "Content-Type:application/x-www-form-urlencoded;charset=utf-8" /
-H "Accept: application/json;charset=utf-8" /
-H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST /
https://edge_sso_IP_DNS:9099/oauth/token /
-d 'grant_type=refresh_token&refresh_token=refreshToken'