Anda sedang melihat dokumentasi Apigee Edge.
Buka dokumentasi
Apigee X. info
Anda dapat menggunakan layanan OAuth2 Edge untuk menukar kredensial dengan token akses dan token refresh yang kemudian Anda gunakan untuk memanggil endpoint Edge dalam alur kerja OAuth.
Selain teknik yang dijelaskan di bagian ini, Anda juga dapat menggunakan
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 for 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 |
"aplikasi/json;charset=utf-8" |
Authorization |
"Dasar ZWRnZWNsaTplZGdlY2xpc2VjcmV0" Anda dapat mengekspor nilai ini ke variabel lingkungan sehingga dapat digunakan 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 telah mengaktifkan MFA. |
passcode |
Opsional. Kombinasi nama pengguna dan sandi atau kode sandi diperlukan. | Kode sandi sekali pakai yang dapat Anda gunakan sebagai pengganti {i>password<i}. Kode sandi diperlukan saat mengautentikasi dengan IdP SAML, dan dapat digunakan untuk mengautentikasi dengan IdP LDAP. |
grant_type |
Wajib | Menentukan apakah Anda mendapatkan token akses baru atau memuat ulang token yang sudah ada. Berlaku nilainya adalah:
|
refresh_token |
Opsional | Token yang Anda teruskan untuk mendapatkan token akses baru saat masa berlaku token akses saat ini telah
berakhir. Parameter ini wajib diisi jika grant_type adalah "refresh_token". |
Contoh
Mendapatkan token akses baru
Untuk mendapatkan token akses baru, setel
grant_type
ke "sandi": 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) yang diaktifkan, dapatkan kode MFA, lalu tetapkan parameter
mfa_token
ke 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'
Memperbarui token akses
Untuk memuat ulang token akses, tetapkan
grant_type
ke "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 memuat ulang token akses.
Respons
Jika berhasil, Anda akan mendapatkan kembali 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:
- Menggunakan
access_token
dalam panggilan ke Edge API - Gunakan
refresh_token
saat masa berlaku token akses Anda berakhir dan Anda perlu memuat ulang token tersebut
Jika Anda menerima respons seperti berikut:
{ "error": "unauthorized", "error_description": "Bad credentials" }
Pastikan bahwa Anda menggunakan {i>string<i} persis seperti yang diberikan di atas ("ZWRnZWNsaTplZGdlY2xpc2VjcmV0") untuk atribut
Authorization
dalam permintaan Anda.