Autentikasi dasar adalah salah satu cara untuk melakukan autentikasi 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 USER_NAME:PASSWORD https://MS_IP_DNS:8080/v1/organizations/ORG_NAME
Dalam contoh ini, Anda menggunakan opsi curl
-u
untuk lulus Autentikasi dasar
memiliki kredensial yang lengkap. Atau, Anda dapat meneruskan token OAuth2 di header Bearer
untuk membuat
Panggilan API pengelolaan edge, seperti yang ditampilkan dalam contoh berikut:
curl -H "Authorization: Bearer ACCESS_TOKEN" https://MS_IP_DNS:8080/v1/organizations/ORG_NAME
Setelah mengaktifkan IDP eksternal untuk autentikasi, Anda dapat memilih untuk menonaktifkan IDP dasar
autentikasi. Jika Anda menonaktifkan setelan
semua skrip (seperti Maven, shell, dan apigeetool
) yang
mengandalkan panggilan API pengelolaan Edge yang mendukung autentikasi Dasar tidak lagi berfungsi. Anda harus memperbarui
semua panggilan dan skrip API yang menggunakan Autentikasi dasar untuk meneruskan token akses OAuth2 di
Header Bearer
.
Mendapatkan dan memuat ulang token dengan get_token
Utilitas get_token
menukar kredensial autentikasi Dasar Anda (dan dalam beberapa kasus
kode sandi) untuk token akses dan refresh OAuth2. Utilitas get_token
menerima
kredensial, dan menghasilkan
token akses yang valid. Jika token dapat dimuat ulang, utilitas akan dimuat ulang
dan menampilkannya. Jika masa berlaku token refresh sudah berakhir, token tersebut akan meminta kredensial pengguna.
Utilitas get_token
menyimpan token di disk, dan siap digunakan saat diperlukan. Ini
juga mencetak token akses yang valid ke stdout
. Dari sana, Anda dapat menggunakan
ekstensi browser seperti
Postman atau sematkan 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 SSO Apigee, gunakan
https
dan Nomor port TLS. - Ekstrak paket
ssocli-bundle.zip
, seperti yang ditunjukkan dalam contoh berikut:unzip ssocli-bundle.zip
- Instal
get_token
di/usr/local/bin
, seperti yang ditunjukkan dalam contoh berikut:./install -b PATH
Opsi
-b
menentukan lokasi yang berbeda. - Tetapkan variabel lingkungan
SSO_LOGIN_URL
ke URL login Anda, sebagai berikut bentuk:export SSO_LOGIN_URL="http://EDGE_SSO_IP_DNS:9099"
Dengan EDGE_SSO_IP_DNS adalah alamat IP mesin yang menghosting SSO Apigee ruang lingkup modul ini. Jika Anda mengonfigurasi TLS di SSO Apigee, gunakan
https
dan port TLS yang benar angka - (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
https
dan 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_token
untuk membuat token masing-masing.Perhatikan bahwa Anda hanya dapat menggunakan kode sandi saat melakukan autentikasi dengan IDP SAML. Anda tidak dapat menggunakan kode sandi untuk mengotentikasi dengan IDP LDAP.
- Panggil
get_token
untuk mendapatkan token akses OAuth2, seperti yang ditunjukkan contoh berikut:get_token -u EMAIL_ADDRESS
Dengan EMAIL_ADDRESS adalah alamat email pengguna Edge.
(Khusus SAML) Masukkan kode sandi di command line selain alamat email, seperti yang ditunjukkan dalam contoh berikut:
get_token -u EMAIL_ADDRESS -p PASSCODE
Utilitas
get_token
mendapatkan 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/ORG_NAME
- Setelah mendapatkan token akses baru untuk pertama kalinya, Anda bisa mendapatkan token akses dan
meneruskannya ke panggilan API dalam satu perintah, seperti yang ditunjukkan contoh berikut:
header=`get_token` && curl -H "Authorization: Bearer $header" https://MS_IP:8080/v1/o/ORG_NAME
Dengan bentuk perintah ini, jika token akses sudah tidak berlaku, token tersebut akan 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 Anda dapat membuat
token akses OAuth baru.
Menggunakan API pengelolaan untuk mendapatkan dan memuat ulang token
Menggunakan OAuth2 keamanan 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 OAuth2 dengan API pengelolaan Apigee Edge adalah URL panggilan harus merujuk nama zona. Selain itu, untuk membuat token akses awal dengan IDP SAML, Anda harus menyertakan kode sandi, seperti yang ditunjukkan di langkah 3 dari prosedur di atas.
Untuk otorisasi, teruskan kredensial klien OAuth2 yang dicadangkan di Authorization
{i>header<i}. Panggilan akan mencetak token akses dan token pembaruan ke layar.
Mendapatkan token akses
(LDAP) Gunakan panggilan API berikut untuk membuat akses dan pembaruan awal token:
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 \ http://EDGE_SSO_IP_DNS:9099/oauth/token -s \ -d 'grant_type=password&username=USER_EMAIL&password=USER_PASSWORD'
(SAML) Gunakan panggilan API berikut untuk membuat akses dan pembaruan awal token:
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.
Memuat ulang token akses
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=REFRESH_TOKEN'