Edge for Private Cloud v. 4.17.09
Basic Auth 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 userName:pWord https://ms_IP_DNS:8080/v1/organizations/orgName
Dalam contoh ini, Anda menggunakan opsi cURL -u untuk meneruskan kredensial Basic Auth. Atau, 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 menonaktifkan Basic Auth secara opsional. Jika Anda menonaktifkan Basic Auth, semua
skrip (skrip Maven, skrip shell, apigeetool, dll.) yang mengandalkan panggilan API pengelolaan Edge
yang mendukung Basic Auth tidak akan berfungsi lagi. Anda harus mengupdate semua panggilan API dan skrip yang menggunakan Basic Auth untuk meneruskan token akses OAuth2 di header Bearer.
Menggunakan get_token untuk mendapatkan dan me-refresh token
Utilitas get_token
menukarkan kredensial Basic Auth dan kode sandi Anda dengan token akses dan refresh OAuth2. Utilitas get_token menerima kredensial Anda dan mencetak token akses yang valid. Jika token dapat diperbarui, token tersebut akan diperbarui dan dicetak. Jika masa berlaku token refresh berakhir, token akan meminta kredensial pengguna.
Utilitas get_token menyimpan token di disk, 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 di curl.
Prosedur berikut menjelaskan cara menggunakan get_token untuk mendapatkan token akses OAuth2 guna
melakukan panggilan API pengelolaan Edge:
- 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 mesin yang menghosting modul Edge SSO. Jika Anda mengonfigurasi TLS di SSO Edge, gunakan
httpsdan nomor port TLS yang benar. - Ekstrak paket
ssocli-bundle.zip:unzip ssocli-bundle.zip
- Instal
get_tokendi/usr/local/bin:
./install
Gunakan opsi
-buntuk menentukan lokasi lain:./install -b path
- Tetapkan variabel lingkungan
SSO_LOGIN_URLke 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
httpsdan nomor port TLS yang benar. - 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
httpsdan nomor port TLS yang benar.URL ini menampilkan kode sandi sekali pakai yang tetap valid hingga Anda memuat ulang URL tersebut untuk mendapatkan kode sandi baru, atau Anda menggunakan kode sandi dengan
get_tokenuntuk membuat token akses. - Panggil
get_tokenuntuk 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 peroleh di langkah 3:
One Time Code ( Get one at https://edge_sso_IP.com/passcode ) Enter the passcode if SAML is enabled or press ENTER:Masukkan kode sandi. Utilitas
get_tokenmendapatkan token akses OAuth2, mencetaknya ke layar, serta menulisnya dan token refresh ke~/.sso-cli.Anda dapat memasukkan kode sandi di command line menggunakan perintah
get_tokendalam bentuk:get_token -u emailAddress -p passcode
- Teruskan token akses ke panggilan API pengelolaan Edge 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 dan meneruskannya ke panggilan API dalam satu perintah, seperti yang ditunjukkan di bawah ini:
header=`get_token` && curl -H "Authorization: Bearer $header" https://ms_IP:8080/v1/o/orgName
Dengan bentuk perintah ini, jika masa berlaku token akses telah berakhir, token tersebut akan otomatis diperbarui hingga masa berlaku token refresh berakhir.
Setelah masa berlaku token refresh berakhir, get_token akan meminta Anda memasukkan kode sandi baru. Anda
harus membuka URL yang ditampilkan di atas pada Langkah 3 dan membuat kode sandi baru sebelum dapat membuat
token akses OAuth baru
Menggunakan Management API untuk mendapatkan dan memperbarui token
Menggunakan keamanan OAuth2 dengan API pengelolaan Apigee Edge berisi petunjuk yang menunjukkan cara menggunakan API pengelolaan Edge untuk mendapatkan dan memperbarui 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 prosedur di atas.
Misalnya, gunakan panggilan API berikut untuk membuat token akses dan token refresh awal:
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 akan mencetak token akses dan token 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'