Autentikasi dasar 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 USER_NAME:PASSWORD https://MS_IP_DNS:8080/v1/organizations/ORG_NAME
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 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 menonaktifkan autentikasi Dasar. 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 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) dengan akses OAuth2 dan token refresh. Utilitas get_token
menerima kredensial Anda dan menampilkan token akses yang valid. Jika token dapat diperbarui, utilitas akan dimuat ulang dan menampilkannya. Jika masa berlaku token refresh berakhir, token pengguna akan diminta.
Utilitas get_token
menyimpan token di disk, yang siap digunakan saat diperlukan. Tindakan 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 SSO Apigee, gunakan
https
dan nomor port TLS yang benar. - Ekstrak paket
ssocli-bundle.zip
, seperti yang ditunjukkan pada contoh berikut:unzip ssocli-bundle.zip
- Instal
get_token
di/usr/local/bin
, seperti yang ditunjukkan pada contoh berikut:./install -b PATH
Opsi
-b
menentukan lokasi yang berbeda. - Tetapkan variabel lingkungan
SSO_LOGIN_URL
ke 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 SSO Apigee, gunakan
https
dan nomor port TLS yang benar. - (SAML only) Di browser, buka URL berikut untuk mendapatkan kode sandi sekali pakai:
http://EDGE_SSO_IP_DNS:9099/passcode
Jika Anda mengonfigurasi TLS di SSO Apigee, gunakan
https
dan nomor port TLS yang benar.Permintaan ini menampilkan kode sandi sekali pakai yang tetap valid hingga Anda me-refresh URL tersebut untuk mendapatkan kode sandi baru atau Anda menggunakan kode sandi dengan
get_token
untuk membuat token akses.Perlu diperhatikan 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_token
untuk mendapatkan token akses OAuth2, seperti yang ditunjukkan pada contoh berikut:get_token -u EMAIL_ADDRESS
Dengan EMAIL_ADDRESS adalah alamat email pengguna Edge.
(SAML only) Masukkan kode sandi di command line selain alamat email, yang ditunjukkan pada 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 pada 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 ditampilkan dalam contoh berikut:
header=`get_token` && curl -H "Authorization: Bearer $header" https://MS_IP:8080/v1/o/ORG_NAME
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 kepada Anda. Anda
harus membuka URL yang ditunjukkan di atas pada langkah 3 dan membuat kode sandi baru sebelum Anda dapat membuat
token akses OAuth baru.
Gunakan Management API untuk mendapatkan dan memperbarui token
Gunakan keamanan OAuth2 dengan API pengelolaan Apigee Edge yang menunjukkan cara menggunakan Edge Management API 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 dari prosedur di atas.
Untuk otorisasi, teruskan kredensial klien OAuth2 yang dicadangkan di header Authorization
. Panggilan tersebut akan mencetak akses dan token refresh ke layar.
Mendapatkan token akses
(LDAP) 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 \ 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 menghasilkan 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'
Perlu diperhatikan 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=REFRESH_TOKEN'