Edge for Private Cloud v. 4.17.09
Autentikasi Dasar adalah salah satu cara untuk mengautentikasi saat melakukan panggilan ke API pengelolaan Edge. 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 panggilan API dan skrip yang menggunakan Autentikasi Dasar untuk meneruskan token akses OAuth2 di header Bearer.
Menggunakan get_token untuk mendapatkan dan memuat ulang token
Utilitas get_token
menukar kredensial Auth Dasar 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 dan mencetaknya. Jika masa berlaku token refresh berakhir, token akan meminta kredensial pengguna.
Utilitas get_token
menyimpan
token di disk, siap digunakan saat diperlukan. Kode 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 dari nama DNS mesin yang menghosting modul Edge SSO. Jika Anda mengonfigurasi TLS di Edge SSO, gunakan
https
dan nomor port TLS yang benar. - Ekstrak paket
ssocli-bundle.zip
:unzip ssocli-bundle.zip
- Instal
get_token
di/usr/local/bin
:
./install
Gunakan opsi
-b
untuk menentukan lokasi lain:./install -b path
- 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 Edge SSO, gunakan
https
dan 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
https
dan 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_token
untuk membuat token akses. - Panggil
get_token
untuk mendapatkan token akses OAuth2:
get_token -u emailAddress
dengan emailAddress adalah alamat email pengguna Edge. Anda akan diminta untuk memasukkan kunci sandi sekali pakai yang Anda dapatkan 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_token
mendapatkan 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 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 memperoleh token akses baru untuk pertama kalinya, Anda dapat memperoleh token akses tersebut 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 akan otomatis diperbarui hingga masa berlaku token pembaruan berakhir.
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 dapat membuat
token akses OAuth baru
Menggunakan API pengelolaan untuk mendapatkan dan memuat ulang token
Menggunakan keamanan OAuth2 dengan API pengelolaan Apigee Edge berisi petunjuk yang menunjukkan cara menggunakan API pengelolaan Edge 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 mereferensikan 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 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 pembaruan ke layar.
Untuk memperbarui token akses nanti, 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'