Saat menggunakan IDP eksternal dengan Edge API, proses standar untuk mendapatkan token akses OIDC/OAuth2
dari CLI adalah alur Kode Perangkat OAuth 2.0. Dengan alur ini, Anda menggunakan utilitas get_token, yang meminta Anda untuk mengunjungi URL di browser untuk melakukan autentikasi melalui IDP, lalu otomatis membuka blokir terminal Anda.
Namun, lingkungan pengembangan Anda mungkin mendukung otomatisasi untuk tugas pengembangan umum, seperti otomatisasi pengujian atau pipeline CI/CD. Untuk mengotomatiskan tugas ini saat IDP eksternal diaktifkan, Anda memerlukan cara untuk mendapatkan dan memperbarui token OAuth2 tanpa browser, tanpa memerlukan interaksi browser.
Edge mendukung pembuatan token otomatis melalui penggunaan pengguna mesin tanpa browser. Pengguna mesin dapat memperoleh token OIDC/OAuth2 melalui pemberian sandi standar tanpa memerlukan browser. Artinya, Anda dapat sepenuhnya mengotomatiskan proses mendapatkan dan memperbarui token untuk skrip Anda.
Membuat pengguna mesin
Anda dapat membuat pengguna mesin yang digunakan oleh semua organisasi Anda, atau membuat pengguna mesin terpisah untuk setiap organisasi.
Pengguna mesin dibuat dan disimpan langsung di direktori OpenLDAP lokal dan ditandai secara eksplisit sebagai pengguna mesin (employeeType: machineuser). Hal ini memungkinkan Apigee SSO mengautentikasi pengguna mesin secara aman melalui pemberian sandi meskipun SAML/OIDC gabungan diterapkan secara ketat untuk pengguna manusia.
Untuk mengetahui petunjuk mendetail tentang cara membuat, mencantumkan, dan mengelola pengguna mesin, lihat Mengelola pengguna mesin dengan apigee-machineuser.sh.
Mendapatkan dan memperbarui token pengguna mesin
Anda dapat menggunakan utilitas get_token dan acurl yang disediakan di /opt/apigee/apigee-openldap/bin/, atau curl standar, untuk mendapatkan token bagi pengguna mesin.
- Menggunakan Utilitas Apigee: Wrapper
get_tokendanacurlotomatis menangani caching token, pembuatan payload, dan pemuatan ulang otomatis. Untuk mengetahui petunjuk dan contoh mendetail tentang cara menggunakan alat ini, lihat Menggunakan utilitas get_token dan acurl. - Menggunakan curl standar: Jika skrip otomatisasi Anda tidak memiliki akses ke wrapper Apigee, Anda dapat berinteraksi langsung dengan Apigee SSO menggunakan perintah
curlstandar berikut:
Untuk mendapatkan dan memperbarui token menggunakan curl standar:
- Gunakan panggilan API berikut untuk membuat token akses dan refresh awal langsung dari Apigee SSO:
curl -H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" \ -H "accept: application/json;charset=utf-8" \ -X POST http://Edge_SSO_IP_DNS:9099/token -s \ -d 'grant_type=password&username=machineUserEmail&password=machineUserPassword&client_id=edgecli&client_secret=edgeclisecret&scope=openid%20profile%20email%20offline_access' - Teruskan token akses ke panggilan Edge Management API di header
Authorization: Bearer:curl -H "Authorization: Bearer access_token" \ http://MS_IP_DNS:8080/v1/organizations/org_name
- Untuk memperbarui token akses secara native 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" \ -X POST http://Edge_SSO_IP_DNS:9099/token \ -d 'grant_type=refresh_token&refresh_token=refreshToken&client_id=edgecli&client_secret=edgeclisecret'