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 userName:pWord https://ms_IP_DNS:8080/v1/organizations/orgName
Dalam contoh ini, Anda menggunakan opsi curl -u untuk meneruskan kredensial autentikasi Dasar. Atau, Anda dapat meneruskan token OAuth2 di header Bearer untuk melakukan
panggilan API pengelolaan Edge, seperti yang ditunjukkan contoh berikut:
curl -H "Authorization: Bearer access_token" https://ms_IP_DNS:8080/v1/organizations/orgName
Setelah mengaktifkan IDP eksternal untuk autentikasi, Anda dapat menonaktifkan autentikasi Dasar (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 menukar kredensial autentikasi Dasar Anda (dan dalam beberapa kasus, kode sandi) dengan token akses dan refresh OAuth2. Utilitas get_token menerima kredensial Anda dan menampilkan token akses yang valid. Jika token dapat diperbarui, utilitas akan memperbarui dan menampilkannya. 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 ekstensi browser seperti
Postman atau menyematkannya dalam variabel lingkungan untuk digunakan di curl.
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 atau nama DNS mesin yang menghosting modul SSO Apigee. Jika Anda mengonfigurasi TLS di Apigee SSO, gunakan
httpsdan nomor port TLS yang benar. - Ekstrak paket
ssocli-bundle.zip, seperti yang ditunjukkan dalam contoh berikut:unzip ssocli-bundle.zip
- Instal
get_tokendi/usr/local/bin, seperti yang ditunjukkan dalam contoh berikut:./install -b path
Opsi
-bmenentukan lokasi yang berbeda. - Tetapkan variabel lingkungan
SSO_LOGIN_URLke URL login Anda, dalam bentuk berikut:export SSO_LOGIN_URL="http://edge_sso_IP_DNS:9099"
Dengan edge_sso_IP_DNS adalah alamat IP mesin yang menghosting modul SSO Apigee. Jika Anda mengonfigurasi TLS di Apigee SSO, gunakan
httpsdan nomor port TLS yang benar. - (Khusus SAML) Di browser, buka URL berikut untuk mendapatkan kode sandi sekali pakai:
http://edge_sso_IP_DNS:9099/passcode
Jika Anda mengonfigurasi TLS di Apigee SSO, gunakan
httpsdan nomor port TLS yang benar.Permintaan 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.Perhatikan bahwa Anda hanya dapat menggunakan kode sandi saat melakukan autentikasi dengan IDP SAML. Anda tidak dapat menggunakan kode sandi untuk melakukan autentikasi dengan IDP LDAP.
- Panggil
get_tokenuntuk mendapatkan token akses OAuth2, seperti yang ditunjukkan dalam contoh berikut:get_token -u emailAddress
Dengan emailAddress adalah alamat email pengguna Edge.
(Khusus SAML) Masukkan kode sandi di command line selain alamat email, seperti yang ditunjukkan contoh berikut:
get_token -u emailAddress -p passcode
Utilitas
get_tokenmendapatkan token akses OAuth2, mencetaknya ke layar, dan menulisnya serta token refresh ke~/.sso-cli. - Teruskan token akses ke panggilan API pengelolaan Edge sebagai header
Bearer, seperti yang ditunjukkan contoh berikut:curl -H "Authorization: Bearer access_token" https://ms_IP:8080/v1/organizations/orgName
- Setelah mendapatkan token akses baru untuk pertama kalinya, Anda bisa mendapatkan token akses dan
meneruskannya ke panggilan API dalam satu perintah, seperti yang ditunjukkan dalam contoh berikut:
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.
(Khusus SAML) 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 Management API untuk mendapatkan dan memperbarui token
Menggunakan keamanan OAuth2 dengan API pengelolaan Apigee Edge menunjukkan cara menggunakan API pengelolaan Edge untuk mendapatkan dan memperbarui token. Anda juga dapat menggunakan panggilan Edge API untuk mendapatkan 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 dengan IDP SAML, Anda harus menyertakan kode sandi, seperti yang ditunjukkan pada langkah 3 prosedur di atas.
Untuk otorisasi, teruskan kredensial klien OAuth2 yang dicadangkan di header Authorization. Panggilan akan mencetak token akses dan token refresh ke layar.
Mendapatkan token akses
(LDAP) 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'
(SAML) 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'
Perhatikan bahwa autentikasi dengan IDP SAML memerlukan kode sandi sementara, sedangkan IDP LDAP tidak.
Memperbarui token akses
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'