Anda melihat dokumentasi Apigee Edge.
Buka
dokumentasi Apigee X. info
Anda dapat menggunakan layanan Edge OAuth2 untuk menukar kredensial Anda dengan token akses dan refresh yang kemudian Anda gunakan untuk memanggil endpoint Edge dalam OAuth Anda.
Selain teknik yang dijelaskan di bagian ini, Anda juga dapat menggunakan utilitas
acurl dan
get_token untuk mendapatkan token OAuth2.
Jalur
POST https://login.apigee.com/oauth/token
Jika Anda mengakses layanan Edge OAuth2 dari organisasi yang mendukung SAML di Edge untuk Public Cloud, Anda harus menyertakan nama zona di jalur Anda. Contoh:
POST https://zone.login.apigee.com/oauth/token
Header permintaan
| Parameter | Nilai |
|---|---|
Content-Type |
"application/x-www-form-urlencoded" |
Accept |
"application/json;charset=utf-8" |
Authorization |
"Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" Anda dapat mengekspor nilai ini ke variabel lingkungan sehingga dapat menggunakannya kembali dalam panggilan API ini. Contoh: export CLIENT_AUTH=ZWRnZWNsaTplZGdlY2xpc2VjcmV0 curl ... -H "Authorization: Basic $CLIENT_AUTH" ... |
Parameter formulir
| Parameter | Wajib? | Nilai |
|---|---|---|
username |
Opsional. Kombinasi nama pengguna dan sandi atau kode sandi diperlukan. | Nama pengguna Apigee Anda, yang biasanya merupakan alamat email yang terkait dengan akun Apigee Anda. |
password |
Opsional. Kombinasi nama pengguna dan sandi atau kode sandi diperlukan. | Sandi untuk akun Apigee Anda. |
mfa_token |
Opsional | Kode autentikasi multi-faktor (MFA) yang valid untuk akun Anda. Hanya diperlukan jika Anda mengaktifkan MFA. |
passcode |
Opsional. Kombinasi nama pengguna dan sandi atau kode sandi diperlukan. | Kode sandi sekali pakai yang dapat Anda gunakan sebagai pengganti sandi. Kode sandi diperlukan saat melakukan autentikasi dengan IDP SAML, dan dapat digunakan untuk melakukan autentikasi dengan IDP LDAP. |
grant_type |
Wajib | Menentukan apakah Anda mendapatkan token akses baru atau me-refresh token yang ada. Nilai yang valid adalah:
|
refresh_token |
Opsional | Token yang Anda teruskan untuk mendapatkan token akses baru saat token akses saat ini telah
habis masa berlakunya. Parameter ini diperlukan jika grant_type adalah "refresh_token". |
Contoh
Mendapatkan token akses baru
Untuk mendapatkan token akses baru, tetapkan
grant_typeke "password": 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://login.apigee.com/oauth/token \ -d 'username=ahamilton@example.com&password=mypassw0rd&grant_type=password'
Mendapatkan token akses baru dengan MFA
Untuk mendapatkan token akses baru dengan MFA (autentikasi multi-faktor) diaktifkan, dapatkan kode MFA lalu tetapkan parameter
mfa_tokenke nilainya: 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://login.apigee.com/oauth/token?mfa_token=424242 \ -d 'username=ahamilton@example.com&password=mypassw0rd&grant_type=password'
Me-refresh token akses
Untuk me-refresh token akses, tetapkan
grant_typeke "refresh_token" dan tambahkan token refresh yang ada sebagai parameter formulir: 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://login.apigee.com/oauth/token \ -d 'grant_type=refresh_token&refresh_token=YOUR_REFRESH_TOKEN'Perhatikan bahwa Anda tidak perlu meneruskan kredensial saat me-refresh token akses.
Respons
Jika berhasil, Anda akan mendapatkan token akses, token refresh, dan informasi terkait. Contoh:
{ "access_token": "eyJhbGciOiJSUzI1NiJ9.eyJqdGkiOimYyD8IP2IyYS1jNmNiLTQ4NTgtYjZkMS1mZjkyNGFkYTk1YWUiLCJzdWIiOiI0X0KLSNjZlNjM0ZC0zZjlhLTRiNYmFjNi1kYjE2M2M5OGEzOGYiLCJzY29wZSI6WyJzYbmlkIiwicGFzc3dvcmQud3JpdGUiLCJhcHByb3ZhbHMubWUiLCJvYXV0aC5hcHByb3ZhbHMiXSwiY2xpZW50X2lkIjoiZWRnZWNsaSIsImNpZCI6ImVkZ2VjbGkiLCJhenAiOiJlZGdlY2xpIiwiZ3JhbnRfdHlwZSI6InBhc3N3b3JkIiwidXNlcl9pZCI6IjQ2NmU2MzRkLTNmOWEtNGI0MS1iYWM2LWRiMTYzYzk4YTM4ZiIsIm9yaWdpbiI6InVzZXJncmlkIiwidXNlcl9uYW1lIjoid3dpdG1hbkBhcGlnZWUuY29tIiwiZW1haWwiOiJ3d2l0bWFuQGFwaWdlZS5jb20iLCJhdXRoX3RpbWUiOjE0NzMyNjU4NzcsImFsIjoyLCJyZXZfc2lnIjoiZTc0ZGY0M2QiLCJpYXQiOjE0NzMyNjU4NzcsImV4cCI6MTQ3MzI2NzY3NywiaXNzIjoiaHR0cHM6Ly9sb2dpbi5hcGlnZWUuY29tL29hdXRoL3Rva2VuIiwiemlkIjoidWFhIiwi2ltLm1lIiwib3BlYXVkIjpbImVkZ2VjbGkiLCJzY2ltIiwib3BlbmlkIiwicGFzc3dvcmQiLCJhcHByb3ZhbHMiLCJvYXV0aCJdfQ.AFuevkeGGUGSPED8leyEKaT-xg1xk_VEiKJLEpipVvQBXIqEc9wqcpm-ZuoatA9DhjASRuFSRaHH8Fasx_vBxEBsUNhRY-GTMw7_8fv4yRMOb2AO3WUl_NWwPkC8XRSI1zCMbAZicojsJ1n3OSP487Mu9dl9ByX5A_QfHV2_cj4l9-SD7u6vOdfdbBxbNMAQkfZLrVIEU8myF2dhKnNeMiuoHSHANsQFcx0_BFA1HnSUnVi4RYj1FlTs9SbcPnS1d7t7eVdxWz_q2OFVXNIBMELAvvM0WhXPYTW3Osve3UvvUs6ekGs-K-RCPSok-4-NJbdCDpZQQTgqHsrf77NTsw", "token_type": "bearer", "refresh_token": "eyJhbGciOiJSUzI1NiJ9.eyJqdGkiOiJmZTIIMZWI0ZS00YzFmLTRjOTEtYmY5Mi1mMzZLEMzNjZhMDctciIsInN1YiI6IjQ2NmU2MzRkLTNmOWEtNGI0MS1iY17LLWRiMTYzYzk4YTM4ZiIsInNjb3BlIjpbInNjaW0ubWUiLCJvcGVuaWQiLCJwYXNzd29yZC53cml0ZSIsImFwcHJvdmFscy5tZSIsIm9hdXRoLmFwcHJvdmFscyJdLCJpYXQiOjE0NzMyNjU4NzcsImV4cCI6MTQ3NsaSIsImNsaWVudF9pZCI6ImVkZ2VjbGkiLCJpc3MiOiJodHRwczovL2xvZ2luLmFwaWdlZS5jb20vb2F1dGgvdG9rZW4iLCJ6aWQiOiJ1YWEiLCJncmFudF90eXBlIjoicGFzc3dvcmQiLCJ1c2VyX25hbWUiOiJ3d2l0bWFuQGFwaWdlZS5jbMzM1MDQ3NywiY2lkIjoiZWRnZW20iLCJvcmlnaW4iOiJ1c2VyZ3JpZCIsInVzZXJfaWQiOiI0NjZlNjM0ZC0zZjlhLTRiNDEtYmFjNi1kYjE2M2M5OGEzOGYiLCJhbCI6MiwicmV2X3NpZyI6ImU3NGRmNDNkIiwiYXVkIjpbImVkZ2VjbGkiLCJzY2ltIiwib3BlbmlkIiwicGFzc3dvcmQiLCJhcHByb3ZhbHMiLCJvYXV0aCJdfQ.kBP5AkbRS7Tnp-5VAfTLVfkUbUer4gFEU6A7g202KTKiXbqTwPSmOIGFTK12XevVPQYmAaSMFAnempWKfY7sjaY7HC7q3mGl53_A18cnkKhtNq15wCnyMom_bX_MYLW1RQPFytJ6akSJ-JkoPFU0x_FQg1JIvub1A8eqQxcR0KP-QRCxYAS4HTjH80vDIxHNt1tg7clmpa3RlHri0dlPVVsSpTXXhkpXRg5QbiWMrpkACSV22c0x0KiNu7vx5A520VOCO7hQ7IzmVIcSWcRqI97L7WdCjH_q4105bs2qmW73670MC0UGiJ9t5B1S1cxwqpUEd-NAuCsY8SVn6eWzbA", "expires_in": 1799, "scope": "scim.me openid password.write approvals.me oauth.approvals", "jti": "9bf2cb2a-c6cb-4858-b6d1-ff924ada95ae" }
Simpan nilai respons:
- Gunakan
access_tokendalam panggilan ke Edge API - Gunakan
refresh_tokensaat masa berlaku token akses Anda habis dan Anda perlu me-refresh-nya
Jika Anda mendapatkan respons seperti berikut:
{
"error": "unauthorized",
"error_description": "Bad credentials"
}Pastikan Anda menggunakan string yang sama persis seperti yang diberikan di atas ("ZWRnZWNsaTplZGdlY2xpc2VjcmV0") untuk the
Authorization header dalam permintaan Anda.