Anda sedang melihat dokumentasi Apigee Edge.
Buka dokumentasi
Apigee X. info
Yang akan Anda pelajari
Melalui tutorial ini, Anda akan mempelajari cara:
- Buat proxy API yang memerlukan kunci API.
- Tambahkan produk API.
- Tambahkan developer dan daftarkan aplikasi.
- Panggil API Anda dengan kunci API.
Anda harus melindungi API Anda dari akses yang tidak sah. Salah satu cara untuk melakukannya adalah dengan kunci API (juga disebut kunci publik, kunci konsumen, atau kunci aplikasi).
Saat membuat permintaan ke API Anda, aplikasi harus memberikan kunci yang valid. Saat runtime, kebijakan Verifikasi Kunci API memeriksa apakah kunci API yang diberikan:
- Valid
- Belum dicabut
- Mencocokkan kunci API untuk produk API yang mengekspos resource yang diminta
Jika kunci valid, permintaan akan diizinkan. Jika kunci tidak valid, permintaan akan menghasilkan kegagalan otorisasi.
Dalam tutorial ini, Anda akan membuat proxy API yang memerlukan kunci API yang valid untuk mengaksesnya.
Yang Anda butuhkan
- Akun Apigee Edge. Jika belum memilikinya, Anda dapat mendaftar dengan petunjuk di Membuat akun Apigee Edge.
- Browser web untuk melakukan panggilan API.
- (Untuk bagian tugas tambahan, tidak wajib) cURL diinstal di komputer Anda untuk melakukan panggilan API dari command line.
Membuat proxy API
- Buka https://apigee.com/edge, lalu login.
Beralih ke organisasi yang Anda inginkan dengan mengklik nama pengguna Anda di bagian atas menu navigasi samping untuk menampilkan menu profil pengguna, lalu memilih organisasi dari daftar.
-
Klik API Proxies di halaman landing untuk menampilkan daftar proxy API.
- Klik + Proxy.

- Di halaman Create Proxy, pilih Reverse proxy (most common).
- Di halaman Proxy Details, konfigurasi proxy sebagai berikut:
Di kolom ini lakukan hal ini Nama Proxy Masukkan: helloworld_apikeyJalur Dasar Project Ubah menjadi:
/helloapikeyJalur Dasar Project adalah bagian dari URL yang digunakan untuk membuat permintaan ke proxy API.
Catatan: Untuk rekomendasi Apigee tentang pembuatan versi API, lihat Pembuatan Versi dalam e-book Desain Web API: Link yang Hilang.
API yang ada Masukkan:
http://mocktarget.apigee.netIni menentukan URL target yang dipanggil Apigee Edge pada permintaan ke proxy API.
Deskripsi Masukkan: hello world protected by API key - Klik Berikutnya.
- Di halaman Common Policies, untuk Security: Authorization, pilih API Key, lalu klik Next. Tindakan ini akan menambahkan dua kebijakan ke proxy API Anda.
- Di halaman Virtual Hosts, pilih default dan
secure, lalu klik Next. Memilih default memungkinkan
Anda memanggil API dengan
http://. Dengan memilih secure, Anda dapat memanggil API denganhttps://. - Di halaman Summary, pastikan lingkungan deployment test dipilih, lalu klik Create and deploy.
- Anda akan melihat konfirmasi bahwa proxy API baru dan produk API telah berhasil dibuat, dan proxy API telah di-deploy ke lingkungan pengujian Anda.
- Klik Edit proxy untuk menampilkan halaman Overview untuk proxy API.
Melihat kebijakan
- Di editor proxy API, klik tab Develop. Anda akan melihat bahwa
dua kebijakan telah ditambahkan ke alur permintaan proxy API:
- Verifikasi Kunci API: Memeriksa panggilan API untuk memastikan kunci API yang valid ada (dikirim sebagai parameter kueri).
- Remove Query Param apikey: Kebijakan AssignMessage yang menghapus kunci API setelah diperiksa, sehingga tidak diteruskan dan diekspos secara tidak perlu.
-
Klik ikon kebijakan Verifikasi Kunci API dalam tampilan alur, dan lihat konfigurasi XML kebijakan dalam tampilan kode bawah. Elemen
<APIKey>memberi tahu kebijakan tempat kunci API harus dicari saat panggilan dilakukan. Secara default, fungsi ini mencari kunci sebagai parameter kueri yang disebutapikeydalam permintaan HTTP:<APIKey ref="request.queryparam.apikey" />
Nama
apikeybersifat arbitrer dan dapat berupa properti apa pun yang berisi kunci API.
Mencoba memanggil API
Pada langkah ini, Anda akan melakukan panggilan API yang berhasil langsung ke layanan target, lalu melakukan panggilan yang tidak berhasil ke proxy API untuk melihat cara proxy API dilindungi oleh kebijakan.
-
Berhasil
Di browser web, buka alamat berikut. Ini adalah layanan target yang dikonfigurasi oleh proxy API untuk meneruskan permintaan, tetapi Anda akan langsung mengaksesnya untuk saat ini:
http://mocktarget.apigee.net
Anda akan mendapatkan respons berhasil ini:
Hello, Guest! -
Kegagalan
Sekarang coba panggil proxy API Anda:
http://ORG_NAME-test.apigee.net/helloapikey
mengganti
ORG_NAMEdengan nama organisasi Edge Anda.Tanpa kebijakan Verifikasi Kunci API, panggilan ini akan memberikan respons yang sama dengan panggilan sebelumnya. Namun, dalam hal ini, Anda akan mendapatkan respons error berikut:
{"fault":{"faultstring":"Failed to resolve API Key variable request.queryparam.apikey","detail":{"errorcode":"steps.oauth.v2.FailedToResolveAPIKey"}}}
yang berarti, dengan benar, bahwa Anda tidak meneruskan kunci API yang valid (sebagai parameter kueri).
Pada langkah berikutnya, Anda akan menambahkan produk API.
Menambahkan produk API
Untuk menambahkan produk API menggunakan UI Apigee:
- Pilih Publikasikan > Produk API.
- Klik +Produk API.
Masukkan Detail produk untuk produk API Anda.
Kolom Deskripsi Nama Nama internal produk API. Jangan menentukan karakter khusus dalam nama.
Catatan: Anda tidak dapat mengedit nama setelah produk API dibuat. Misalnya,helloworld_apikey-Product.Nama tampilan Nama tampilan untuk produk API. Nama tampilan digunakan di UI dan Anda dapat mengeditnya kapan saja. Jika tidak ditentukan, nilai Nama akan digunakan. Kolom ini diisi otomatis menggunakan nilai Nama; Anda dapat mengedit atau menghapus isinya. Nama tampilan dapat menyertakan karakter khusus. Misalnya, helloworld_apikey-Product.Deskripsi Deskripsi produk API. Misalnya, Test product for tutorial.Lingkungan Lingkungan yang akan diizinkan aksesnya oleh produk API. Misalnya testatauprod.Akses Pilih Publik. Menyetujui permintaan akses secara otomatis Aktifkan persetujuan otomatis permintaan kunci untuk produk API ini dari aplikasi mana pun. Kuota Abaikan untuk tutorial ini. Cakupan OAuth yang Diizinkan Abaikan untuk tutorial ini. - Di bagian sumber daya API, pilih proxy API yang baru saja Anda buat. Misalnya,
helloworld_apikey. - Klik Tambahkan.
- Di bagian Paths, tambahkan jalur "/".
- Klik Tambahkan.
- Klik Simpan.
Pada langkah berikutnya, Anda akan mendapatkan kunci API yang diperlukan.
Menambahkan developer dan aplikasi ke organisasi Anda
Selanjutnya, kita akan menyimulasikan alur kerja developer yang mendaftar untuk menggunakan API Anda. Developer akan memiliki satu atau beberapa aplikasi yang memanggil API Anda, dan setiap aplikasi mendapatkan kunci API unik. Hal ini memberi Anda, penyedia API, kontrol yang lebih terperinci atas akses ke API Anda dan pelaporan yang lebih terperinci tentang traffic API menurut aplikasi.
Membuat developer
Untuk membuat developer:
- Pilih Publikasikan > Developer di menu.
- Klik + Developer.
Masukkan perintah berikut di jendela New Developer:
Di kolom ini enter Nama Depan KeyserNama Belakang SozeUsername keyserEmail keyser@example.com- Klik Buat.
Mendaftarkan aplikasi
Untuk mendaftarkan aplikasi developer:
- Pilih Publikasikan > Aplikasi.
- Klik + Aplikasi.
Masukkan nilai berikut di jendela New App:
pDi kolom ini lakukan hal ini Nama dan Nama Tampilan Masukkan: keyser_appPerusahaan / Developer Pilih: DeveloperDeveloper Pilih: Keyser Soze (keyser@example.com)URL callback dan Catatan Biarkan kosong - Di bagian Kredensial, pilih Tidak Pernah dari menu Masa berlaku. Kredensial untuk aplikasi ini tidak akan pernah habis masa berlakunya.
- Di bagian Produk, klik Tambahkan produk.
- Pilih helloworld_apikey-Product.
- Klik Tambahkan.
- Klik Buat di atas dan di sebelah kanan bagian Detail Aplikasi untuk menyimpan pekerjaan Anda.
Mendapatkan kunci API
Untuk mendapatkan kunci API:
- Di halaman Apps (Publish > Apps), klik keyser_app.
Di halaman keyser_app, klik Show di samping Key di bagian Credentials. Di bagian Product, perhatikan bahwa kunci dikaitkan dengan helloworld_apikey
.
- Pilih dan salin Kunci. Anda akan menggunakannya pada langkah berikutnya.
Memanggil API dengan kunci
Setelah memiliki kunci API, Anda dapat menggunakannya untuk memanggil proxy API. Masukkan berikut di browser web Anda. Ganti nama organisasi Edge Anda dengan ORG_NAME, dan kunci API dengan API_KEY di bawah. Pastikan tidak ada spasi tambahan dalam parameter kueri.
http://ORG_NAME-test.apigee.net/helloapikey?apikey=API_KEY
Sekarang saat memanggil proxy API, Anda akan mendapatkan respons ini:
Hello, Guest!
Selamat! Anda telah membuat proxy API dan melindunginya dengan mewajibkan kunci API yang valid disertakan dalam panggilan.
Perhatikan bahwa secara umum, bukan praktik yang baik untuk meneruskan kunci API sebagai parameter kueri. Sebaiknya teruskan di header HTTP.
Praktik terbaik: Meneruskan kunci di header HTTP
Pada langkah ini, Anda akan mengubah proxy untuk mencari kunci API di header yang disebut x-apikey.
- Edit proxy API. Pilih Develop > API Proxies > helloworld_apikey, lalu buka tampilan Develop.
-
Pilih kebijakan Verify API Key, dan ubah XML kebijakan untuk memberi tahu kebijakan agar mencari di
header, bukan diqueryparam:<APIKey ref="request.header.x-apikey"/>
- Simpan proxy API untuk men-deploy perubahan.
-
Lakukan panggilan API berikut menggunakan cURL untuk meneruskan kunci API sebagai header yang disebut
x-apikey. Jangan lupa untuk mengganti nama organisasi Anda.curl -v -H "x-apikey: API_KEY" http://ORG_NAME-test.apigee.net/helloapikey
Perhatikan bahwa untuk menyelesaikan perubahan sepenuhnya, Anda juga perlu mengonfigurasi kebijakan AssignMessage untuk menghapus header, bukan parameter kueri. Contoh:
<Remove>
<Headers>
<Header name="x-apikey"/>
</Headers>
</Remove>
Topik terkait
Berikut beberapa topik yang terkait langsung dengan tutorial ini:
- Mengelola produk API
- Kunci API
- Mendaftarkan developer aplikasi
- Mendaftarkan aplikasi dan mengelola kunci API
- Kebijakan VerifyAPIKey
- Kebijakan AssignMessage
Lebih lanjut lagi, melindungi API dengan kunci API hanyalah sebagian dari cerita. Sering kali, perlindungan API melibatkan keamanan tambahan seperti OAuth.
OAuth adalah protokol terbuka yang, secara singkat, menukar kredensial (seperti nama pengguna dan sandi) dengan token akses. Token akses adalah string panjang acak yang dapat diteruskan di sekitar pipeline pesan, bahkan dari aplikasi ke aplikasi, tanpa membahayakan kredensial asli. Token akses sering kali memiliki masa berlaku yang singkat, sehingga token baru selalu dibuat.